<html>
<head><meta charset="UTF-8" /><script>
var $gwt_version = "2.0.4";
var $wnd = parent;
var $doc = $wnd.document;
var $moduleName, $moduleBase;
var $strongName = '1E1542A61A024230D5E6AAC811B1FCA2';
var $stats = $wnd.__gwtStatsEvent ? function(a) {return $wnd.__gwtStatsEvent(a);} : null,
$sessionId = $wnd.__gwtStatsSessionId ? $wnd.__gwtStatsSessionId : null;
$stats && $stats({moduleName:'photogallery',sessionId:$sessionId,subSystem:'startup',evtGroup:'moduleStartup',millis:(new Date()).getTime(),type:'moduleEvalStart'});
</script></head>
<body>
<script><!--
var _;
function nullMethod(){
}

function equals(other){
  return this === (other == null?null:other);
}

function getClass_0(){
  return Ljava_lang_Object_2_classLit;
}

function hashCode_0(){
  return this.$H || (this.$H = ++sNextHashId);
}

function toString_0(){
  return (this.typeMarker$ == nullMethod || this.typeId$ == 2?this.getClass$():Lcom_google_gwt_core_client_JavaScriptObject_2_classLit).typeName + '@' + toPowerOfTwoString(this.typeMarker$ == nullMethod || this.typeId$ == 2?this.hashCode$():this.$H || (this.$H = ++sNextHashId), 4);
}

function Object_0(){
}

_ = Object_0.prototype = {};
_.equals$ = equals;
_.getClass$ = getClass_0;
_.hashCode$ = hashCode_0;
_.toString$ = toString_0;
_.toString = function(){
  return this.toString$();
}
;
_.typeMarker$ = nullMethod;
_.typeId$ = 1;
function $cancel(this$static){
  if (!this$static.running) {
    return;
  }
  $remove_2(animations, this$static);
  this$static.onCancel();
  this$static.started = false;
  this$static.running = false;
}

function $run(this$static, duration, startTime){
  $cancel(this$static);
  this$static.running = true;
  this$static.duration = duration;
  this$static.startTime = startTime;
  if ($update(this$static, (new Date).getTime())) {
    return;
  }
  if (!animations) {
    animations = $ArrayList(new ArrayList);
    animationTimer = ($clinit_2() , $clinit_1() , new Animation$1);
  }
  $add_1(animations, this$static);
  animations.size == 1 && $schedule(animationTimer, 25);
}

function $update(this$static, curTime){
  var finished, progress;
  finished = curTime >= this$static.startTime + this$static.duration;
  if (this$static.started && !finished) {
    progress = (curTime - this$static.startTime) / this$static.duration;
    this$static.onUpdate((1 + Math.cos(3.141592653589793 + progress * 3.141592653589793)) / 2);
    return false;
  }
  if (!this$static.started && curTime >= this$static.startTime) {
    this$static.started = true;
    this$static.onStart();
  }
  if (finished) {
    this$static.onComplete();
    this$static.started = false;
    this$static.running = false;
    return true;
  }
  return false;
}

function getClass_1(){
  return Lcom_google_gwt_animation_client_Animation_2_classLit;
}

function onCancel(){
  this.started && this.onComplete();
}

function onComplete(){
  this.onUpdate((1 + Math.cos(6.283185307179586)) / 2);
}

function onStart(){
  this.onUpdate((1 + Math.cos(3.141592653589793)) / 2);
}

function updateAnimations(){
  var animation, animation$array, animation$index, animation$max, curAnimations, curTime;
  curAnimations = initDim(_3Lcom_google_gwt_animation_client_Animation_2_classLit, 99, 10, animations.size, 0);
  curAnimations = dynamicCast($toArray(animations, curAnimations), 2);
  curTime = (new Date).getTime();
  for (animation$array = curAnimations , animation$index = 0 , animation$max = animation$array.length; animation$index < animation$max; ++animation$index) {
    animation = animation$array[animation$index];
    animation.running && $update(animation, curTime) && $remove_2(animations, animation);
  }
  animations.size > 0 && $schedule(animationTimer, 25);
}

function Animation(){
}

_ = Animation.prototype = new Object_0;
_.getClass$ = getClass_1;
_.onCancel = onCancel;
_.onComplete = onComplete;
_.onStart = onStart;
_.typeId$ = 3;
_.duration = -1;
_.running = false;
_.startTime = -1;
_.started = false;
var animationTimer = null, animations = null;
function $clinit_1(){
  $clinit_1 = nullMethod;
  timers = $ArrayList(new ArrayList);
  addCloseHandler(new Timer$1);
}

function $cancel_0(this$static){
  this$static.isRepeating?($wnd.clearInterval(this$static.timerId) , undefined):($wnd.clearTimeout(this$static.timerId) , undefined);
  $remove_2(timers, this$static);
}

function $schedule(this$static, delayMillis){
  if (delayMillis <= 0) {
    throw $IllegalArgumentException(new IllegalArgumentException, 'must be positive');
  }
  $cancel_0(this$static);
  this$static.isRepeating = false;
  this$static.timerId = createTimeout(this$static, delayMillis);
  $add_1(timers, this$static);
}

function createTimeout(timer, delay){
  return $wnd.setTimeout($entry(function(){
    timer.fire();
  }
  ), delay);
}

function fire(){
  !this.isRepeating && $remove_2(timers, this);
  this.run();
}

function getClass_2(){
  return Lcom_google_gwt_user_client_Timer_2_classLit;
}

function Timer(){
}

_ = Timer.prototype = new Object_0;
_.fire = fire;
_.getClass$ = getClass_2;
_.typeId$ = 4;
_.isRepeating = false;
_.timerId = 0;
var timers;
function $clinit_2(){
  $clinit_2 = nullMethod;
  $clinit_1();
}

function getClass_3(){
  return Lcom_google_gwt_animation_client_Animation$1_2_classLit;
}

function run(){
  updateAnimations();
}

function Animation$1(){
}

_ = Animation$1.prototype = new Timer;
_.getClass$ = getClass_3;
_.run = run;
_.typeId$ = 5;
function $Throwable(this$static, message, cause){
  $fillInStackTrace();
  this$static.cause = cause;
  this$static.detailMessage = message;
  return this$static;
}

function $initCause(this$static, cause){
  if (this$static.cause) {
    throw $IllegalStateException_0(new IllegalStateException, "Can't overwrite cause");
  }
  if (cause == this$static) {
    throw $IllegalArgumentException(new IllegalArgumentException, 'Self-causation not permitted');
  }
  this$static.cause = cause;
  return this$static;
}

function $setStackTrace(stackTrace){
  var c, copy, i;
  copy = initDim(_3Ljava_lang_StackTraceElement_2_classLit, 111, 20, stackTrace.length, 0);
  for (i = 0 , c = stackTrace.length; i < c; ++i) {
    if (!stackTrace[i]) {
      throw $NullPointerException(new NullPointerException);
    }
    copy[i] = stackTrace[i];
  }
}

function getClass_4(){
  return Ljava_lang_Throwable_2_classLit;
}

function getMessage(){
  return this.detailMessage;
}

function toString_1(){
  var className, msg;
  className = this.getClass$().typeName;
  msg = this.getMessage();
  if (msg != null) {
    return className + ': ' + msg;
  }
   else {
    return className;
  }
}

function Throwable(){
}

_ = Throwable.prototype = new Object_0;
_.getClass$ = getClass_4;
_.getMessage = getMessage;
_.toString$ = toString_1;
_.typeId$ = 6;
_.cause = null;
_.detailMessage = null;
function $Exception(this$static, message){
  $fillInStackTrace();
  this$static.detailMessage = message;
  return this$static;
}

function getClass_5(){
  return Ljava_lang_Exception_2_classLit;
}

function Exception(){
}

_ = Exception.prototype = new Throwable;
_.getClass$ = getClass_5;
_.typeId$ = 7;
function getClass_6(){
  return Ljava_lang_RuntimeException_2_classLit;
}

function RuntimeException(){
}

_ = RuntimeException.prototype = new Exception;
_.getClass$ = getClass_6;
_.typeId$ = 8;
function $JavaScriptException(this$static, e){
  $fillInStackTrace();
  this$static.e = e;
  $createStackTrace(this$static);
  return this$static;
}

function getClass_7(){
  return Lcom_google_gwt_core_client_JavaScriptException_2_classLit;
}

function getDescription(e){
  if (e != null && e.typeMarker$ != nullMethod && e.typeId$ != 2) {
    return getDescription0(dynamicCastJso(e));
  }
   else {
    return e + '';
  }
}

function getDescription0(e){
  return e == null?null:e.message;
}

function getMessage_0(){
  this.message_0 == null && (this.name_0 = getName(this.e) , this.description = getDescription(this.e) , this.message_0 = '(' + this.name_0 + '): ' + this.description + getProperties(this.e) , undefined);
  return this.message_0;
}

function getName(e){
  if (e == null) {
    return 'null';
  }
   else if (e != null && e.typeMarker$ != nullMethod && e.typeId$ != 2) {
    return getName0(dynamicCastJso(e));
  }
   else if (e != null && canCast(e.typeId$, 1)) {
    return 'String';
  }
   else {
    return (e.typeMarker$ == nullMethod || e.typeId$ == 2?e.getClass$():Lcom_google_gwt_core_client_JavaScriptObject_2_classLit).typeName;
  }
}

function getName0(e){
  return e == null?null:e.name;
}

function getProperties(e){
  return e != null && e.typeMarker$ != nullMethod && e.typeId$ != 2?getProperties0(dynamicCastJso(e)):'';
}

function getProperties0(e){
  var result = '';
  try {
    for (prop in e) {
      if (prop != 'name' && prop != 'message' && prop != 'toString') {
        try {
          result += '\n ' + prop + ': ' + e[prop];
        }
         catch (ignored) {
        }
      }
    }
  }
   catch (ignored) {
  }
  return result;
}

function JavaScriptException(){
}

_ = JavaScriptException.prototype = new RuntimeException;
_.getClass$ = getClass_7;
_.getMessage = getMessage_0;
_.typeId$ = 9;
_.description = null;
_.e = null;
_.message_0 = null;
_.name_0 = null;
function equals__devirtual$(this$static, other){
  return this$static.typeMarker$ == nullMethod || this$static.typeId$ == 2?this$static.equals$(other):(this$static == null?null:this$static) === (other == null?null:other);
}

function hashCode__devirtual$(this$static){
  return this$static.typeMarker$ == nullMethod || this$static.typeId$ == 2?this$static.hashCode$():this$static.$H || (this$static.$H = ++sNextHashId);
}

function $push(this$static, value){
  this$static[this$static.length] = value;
}

function $push_0(this$static, value){
  this$static[this$static.length] = value;
}

function getClass_9(){
  return Lcom_google_gwt_core_client_Scheduler_2_classLit;
}

function Scheduler(){
}

_ = Scheduler.prototype = new Object_0;
_.getClass$ = getClass_9;
_.typeId$ = 0;
function entry_0(jsFunction){
  return function(){
    return entry0(jsFunction, this, arguments);
  }
  ;
}

function entry0(jsFunction, thisObj, arguments_0){
  var initialEntry;
  initialEntry = entryDepth++ == 0;
  try {
    return jsFunction.apply(thisObj, arguments_0);
  }
   finally {
    initialEntry && $flushFinallyCommands(($clinit_17() , INSTANCE));
    --entryDepth;
  }
}

function getHashCode(o){
  return o.$H || (o.$H = ++sNextHashId);
}

var entryDepth = 0, sNextHashId = 0;
function $clinit_17(){
  $clinit_17 = nullMethod;
  INSTANCE = $SchedulerImpl(new SchedulerImpl);
}

function $SchedulerImpl(this$static){
  $clinit_17();
  this$static.flusher = $SchedulerImpl$1(new SchedulerImpl$1, this$static);
  $SchedulerImpl$2(new SchedulerImpl$2, this$static);
  this$static.deferredCommands = [];
  this$static.incrementalCommands = [];
  this$static.finallyCommands = [];
  return this$static;
}

function $flushFinallyCommands(this$static){
  var oldFinally;
  oldFinally = this$static.finallyCommands;
  this$static.finallyCommands = [];
  runScheduledTasks(oldFinally, this$static.finallyCommands);
}

function $flushPostEventPumpCommands(this$static){
  var oldDeferred;
  oldDeferred = this$static.deferredCommands;
  this$static.deferredCommands = [];
  runScheduledTasks(oldDeferred, this$static.incrementalCommands);
  this$static.incrementalCommands = runRepeatingTasks(this$static.incrementalCommands);
}

function $isWorkQueued(this$static){
  return this$static.deferredCommands.length > 0 || this$static.incrementalCommands.length > 0;
}

function execute(cmd){
  return cmd.execute();
}

function getClass_10(){
  return Lcom_google_gwt_core_client_impl_SchedulerImpl_2_classLit;
}

function runRepeatingTasks(tasks){
  var canceledSomeTasks, i, length_0, newTasks, start, t;
  canceledSomeTasks = false;
  length_0 = tasks.length;
  start = (new Date).getTime();
  while ((new Date).getTime() - start < 100) {
    for (i = 0; i < length_0; ++i) {
      t = tasks[i];
      if (!t) {
        continue;
      }
      if (!t[0].execute()) {
        tasks[i] = null;
        canceledSomeTasks = true;
      }
    }
  }
  if (canceledSomeTasks) {
    newTasks = [];
    for (i = 0; i < length_0; ++i) {
      if (!tasks[i]) {
        continue;
      }
      newTasks[newTasks.length] = tasks[i];
    }
    return newTasks;
  }
   else {
    return tasks;
  }
}

function runScheduledTasks(tasks, rescheduled){
  var $e0, i, j, t;
  for (i = 0 , j = tasks.length; i < j; ++i) {
    t = tasks[i];
    try {
      t[1]?t[0].execute() && (rescheduled[rescheduled.length] = t , undefined):$execute(t[0]);
    }
     catch ($e0) {
      $e0 = caught_0($e0);
      if (!instanceOf($e0, 3))
        throw $e0;
    }
  }
}

function scheduleFixedDelayImpl(cmd, delayMs){
  $clinit_17();
  $wnd.setTimeout(function(){
    var ret = $entry(execute)(cmd);
    ret && $wnd.setTimeout(arguments.callee, delayMs);
  }
  , delayMs);
}

function SchedulerImpl(){
}

_ = SchedulerImpl.prototype = new Scheduler;
_.getClass$ = getClass_10;
_.typeId$ = 0;
_.flushRunning = false;
_.shouldBeRunning = false;
var INSTANCE;
function $SchedulerImpl$1(this$static, this$0){
  this$static.this$0 = this$0;
  return this$static;
}

function execute_0(){
  this.this$0.flushRunning = true;
  $flushPostEventPumpCommands(this.this$0);
  this.this$0.flushRunning = false;
  return this.this$0.shouldBeRunning = $isWorkQueued(this.this$0);
}

function getClass_11(){
  return Lcom_google_gwt_core_client_impl_SchedulerImpl$1_2_classLit;
}

function SchedulerImpl$1(){
}

_ = SchedulerImpl$1.prototype = new Object_0;
_.execute = execute_0;
_.getClass$ = getClass_11;
_.typeId$ = 0;
_.this$0 = null;
function $SchedulerImpl$2(this$static, this$0){
  this$static.this$0 = this$0;
  return this$static;
}

function execute_1(){
  this.this$0.flushRunning && scheduleFixedDelayImpl(this.this$0.flusher, 1);
  return this.this$0.shouldBeRunning;
}

function getClass_12(){
  return Lcom_google_gwt_core_client_impl_SchedulerImpl$2_2_classLit;
}

function SchedulerImpl$2(){
}

_ = SchedulerImpl$2.prototype = new Object_0;
_.execute = execute_1;
_.getClass$ = getClass_12;
_.typeId$ = 0;
_.this$0 = null;
function extractNameFromToString(fnToString){
  var index, start, toReturn;
  toReturn = '';
  fnToString = $trim(fnToString);
  index = fnToString.indexOf('(');
  if (index != -1) {
    start = fnToString.indexOf('function') == 0?8:0;
    toReturn = $trim(fnToString.substr(start, index - start));
  }
  return toReturn.length > 0?toReturn:'anonymous';
}

function splice(arr, length_0){
  arr.length >= length_0 && arr.splice(0, length_0);
  return arr;
}

function $createStackTrace(e){
  var i, j, stack, stackTrace;
  stack = $inferFrom(instanceOfJso(e.e)?dynamicCastJso(e.e):null);
  stackTrace = initDim(_3Ljava_lang_StackTraceElement_2_classLit, 111, 20, stack.length, 0);
  for (i = 0 , j = stackTrace.length; i < j; ++i) {
    stackTrace[i] = $StackTraceElement(new StackTraceElement, 'Unknown', stack[i], 'Unknown source', 0);
  }
  $setStackTrace(stackTrace);
}

function $fillInStackTrace(){
  var i, j, stack, stackTrace;
  stack = splice($inferFrom($makeException()), 2);
  stackTrace = initDim(_3Ljava_lang_StackTraceElement_2_classLit, 111, 20, stack.length, 0);
  for (i = 0 , j = stackTrace.length; i < j; ++i) {
    stackTrace[i] = $StackTraceElement(new StackTraceElement, 'Unknown', stack[i], 'Unknown source', 0);
  }
  $setStackTrace(stackTrace);
}

function $makeException(){
  try {
    null.a();
  }
   catch (e) {
    return e;
  }
}

function $inferFrom(e){
  var i, j, stack;
  stack = e && e.stack?e.stack.split('\n'):[];
  for (i = 0 , j = stack.length; i < j; ++i) {
    stack[i] = extractNameFromToString(stack[i]);
  }
  return stack;
}

function getClass_13(){
  return Lcom_google_gwt_core_client_impl_StringBufferImpl_2_classLit;
}

function StringBufferImpl(){
}

_ = StringBufferImpl.prototype = new Object_0;
_.getClass$ = getClass_13;
_.typeId$ = 0;
function getClass_14(){
  return Lcom_google_gwt_core_client_impl_StringBufferImplAppend_2_classLit;
}

function StringBufferImplAppend(){
}

_ = StringBufferImplAppend.prototype = new StringBufferImpl;
_.getClass$ = getClass_14;
_.typeId$ = 0;
_.string = '';
function $clinit_26(){
  $clinit_26 = nullMethod;
  $clinit_28();
  new DOMImplMozilla;
}

function $getFirstChildElement(elem){
  var child = elem.firstChild;
  while (child && child.nodeType != 1)
    child = child.nextSibling;
  return child;
}

function getClass_15(){
  return Lcom_google_gwt_dom_client_DOMImpl_2_classLit;
}

function DOMImpl(){
}

_ = DOMImpl.prototype = new Object_0;
_.getClass$ = getClass_15;
_.typeId$ = 0;
function $clinit_27(){
  $clinit_27 = nullMethod;
  $clinit_26();
}

function getClass_16(){
  return Lcom_google_gwt_dom_client_DOMImplStandard_2_classLit;
}

function DOMImplStandard(){
}

_ = DOMImplStandard.prototype = new DOMImpl;
_.getClass$ = getClass_16;
_.typeId$ = 0;
function $clinit_28(){
  $clinit_28 = nullMethod;
  $clinit_27();
}

function $eventGetRelatedTarget(evt){
  var relatedTarget = evt.relatedTarget;
  try {
    var nodeName = relatedTarget.nodeName;
    return relatedTarget;
  }
   catch (e) {
    return null;
  }
}

function $isOrHasChild(parent_0, child){
  return parent_0 === child || !!(parent_0.compareDocumentPosition(child) & 16);
}

function $toString_0(elem){
  var doc = elem.ownerDocument;
  var temp = elem.cloneNode(true);
  var tempDiv = doc.createElement('DIV');
  tempDiv.appendChild(temp);
  outer = tempDiv.innerHTML;
  temp.innerHTML = '';
  return outer;
}

function getClass_17(){
  return Lcom_google_gwt_dom_client_DOMImplMozilla_2_classLit;
}

function DOMImplMozilla(){
}

_ = DOMImplMozilla.prototype = new DOMImplStandard;
_.getClass$ = getClass_17;
_.typeId$ = 0;
function $clinit_36(){
  $clinit_36 = nullMethod;
  toInject = [];
  toInjectAtEnd = [];
  toInjectAtStart = [];
  flusher = new StyleInjector$1;
}

function flush(which){
  $clinit_36();
  var css, maybeReturn, toReturn;
  toReturn = null;
  if (toInjectAtStart.length != 0) {
    css = toInjectAtStart.join('');
    maybeReturn = $injectStyleSheetAtStart(($clinit_38() , IMPL), css);
    toInjectAtStart == which && (toReturn = maybeReturn);
    toInjectAtStart.length = 0;
  }
  if (toInject.length != 0) {
    css = toInject.join('');
    maybeReturn = $injectStyleSheet(($clinit_38() , IMPL), css);
    toInject == which && (toReturn = maybeReturn);
    toInject.length = 0;
  }
  if (toInjectAtEnd.length != 0) {
    css = toInjectAtEnd.join('');
    maybeReturn = $injectStyleSheet(($clinit_38() , IMPL), css);
    toInjectAtEnd == which && (toReturn = maybeReturn);
    toInjectAtEnd.length = 0;
  }
  needsInjection = false;
  return toReturn;
}

function schedule(){
  if (!needsInjection) {
    needsInjection = true;
    $push(($clinit_17() , INSTANCE).finallyCommands, [flusher, false]);
  }
}

var flusher, needsInjection = false, toInject, toInjectAtEnd, toInjectAtStart;
function $execute(){
  ($clinit_36() , needsInjection) && flush(null);
}

function getClass_18(){
  return Lcom_google_gwt_dom_client_StyleInjector$1_2_classLit;
}

function StyleInjector$1(){
}

_ = StyleInjector$1.prototype = new Object_0;
_.getClass$ = getClass_18;
_.typeId$ = 0;
function $clinit_38(){
  $clinit_38 = nullMethod;
  IMPL = ($clinit_38() , new StyleInjector$StyleInjectorImpl);
}

function $createElement_0(contents){
  var style;
  style = ($clinit_26() , $doc).createElement('style');
  style['language'] = 'text/css';
  style.textContent = contents || '';
  return style;
}

function $getHead(this$static){
  var elt;
  if (!this$static.head) {
    elt = $doc.getElementsByTagName('head')[0];
    this$static.head = elt;
  }
  return this$static.head;
}

function $injectStyleSheet(this$static, contents){
  var style;
  style = $createElement_0(contents);
  $getHead(this$static).appendChild(style);
  return style;
}

function $injectStyleSheetAtStart(this$static, contents){
  var style;
  style = $createElement_0(contents);
  $getHead(this$static).insertBefore(style, this$static.head.firstChild);
  return style;
}

function getClass_19(){
  return Lcom_google_gwt_dom_client_StyleInjector$StyleInjectorImpl_2_classLit;
}

function StyleInjector$StyleInjectorImpl(){
}

_ = StyleInjector$StyleInjectorImpl.prototype = new Object_0;
_.getClass$ = getClass_19;
_.typeId$ = 0;
_.head = null;
var IMPL;
function getClass_20(){
  return Lcom_google_gwt_event_shared_GwtEvent_2_classLit;
}

function toString_3(){
  return 'An event type';
}

function GwtEvent(){
}

_ = GwtEvent.prototype = new Object_0;
_.getClass$ = getClass_20;
_.toString$ = toString_3;
_.typeId$ = 0;
_.dead = false;
_.source = null;
function fireNativeEvent(nativeEvent, handlerSource, relativeElem){
  var currentNative, currentRelativeElem, typeKey;
  if (registered) {
    typeKey = dynamicCast(registered.map[($clinit_26() , nativeEvent).type], 5);
    if (typeKey) {
      currentNative = typeKey.flyweight.nativeEvent;
      currentRelativeElem = typeKey.flyweight.relativeElem;
      typeKey.flyweight.nativeEvent = nativeEvent;
      typeKey.flyweight.relativeElem = relativeElem;
      $fireEvent_1(handlerSource, typeKey.flyweight);
      typeKey.flyweight.nativeEvent = currentNative;
      typeKey.flyweight.relativeElem = currentRelativeElem;
    }
  }
}

function getAssociatedType(){
  return $clinit_41() , TYPE;
}

function getClass_21(){
  return Lcom_google_gwt_event_dom_client_DomEvent_2_classLit;
}

function DomEvent(){
}

_ = DomEvent.prototype = new GwtEvent;
_.getAssociatedType = getAssociatedType;
_.getClass$ = getClass_21;
_.typeId$ = 0;
_.nativeEvent = null;
_.relativeElem = null;
var registered = null;
function $clinit_41(){
  $clinit_41 = nullMethod;
  TYPE = $DomEvent$Type(new DomEvent$Type, 'click', ($clinit_41() , new ClickEvent));
}

function dispatch(p0){
  $fireEvent(dynamicCast(p0, 4).this$0.presenter.eventBus, ($clinit_249() , new GalleryClickedEvent));
}

function getClass_22(){
  return Lcom_google_gwt_event_dom_client_ClickEvent_2_classLit;
}

function ClickEvent(){
}

_ = ClickEvent.prototype = new DomEvent;
_.dispatch = dispatch;
_.getClass$ = getClass_22;
_.typeId$ = 0;
var TYPE;
function $GwtEvent$Type(this$static){
  this$static.index_0 = ++nextHashCode;
  return this$static;
}

function getClass_23(){
  return Lcom_google_gwt_event_shared_GwtEvent$Type_2_classLit;
}

function hashCode_2(){
  return this.index_0;
}

function toString_4(){
  return 'Event type';
}

function GwtEvent$Type(){
}

_ = GwtEvent$Type.prototype = new Object_0;
_.getClass$ = getClass_23;
_.hashCode$ = hashCode_2;
_.toString$ = toString_4;
_.typeId$ = 0;
_.index_0 = 0;
var nextHashCode = 0;
function $DomEvent$Type(this$static, eventName, flyweight){
  this$static.index_0 = ++nextHashCode;
  this$static.flyweight = flyweight;
  !registered && (registered = $PrivateMap(new PrivateMap));
  registered.map[eventName] = this$static;
  return this$static;
}

function getClass_24(){
  return Lcom_google_gwt_event_dom_client_DomEvent$Type_2_classLit;
}

function DomEvent$Type(){
}

_ = DomEvent$Type.prototype = new GwtEvent$Type;
_.getClass$ = getClass_24;
_.typeId$ = 10;
_.flyweight = null;
function $PrivateMap(this$static){
  this$static.map = {};
  return this$static;
}

function getClass_25(){
  return Lcom_google_gwt_event_dom_client_PrivateMap_2_classLit;
}

function PrivateMap(){
}

_ = PrivateMap.prototype = new Object_0;
_.getClass$ = getClass_25;
_.typeId$ = 0;
_.map = null;
function dispatch_0(p0){
  dynamicCast(p0, 6).onClose(this);
}

function fire_0(source){
  var event_0;
  if (TYPE_0) {
    event_0 = new CloseEvent;
    $fireEvent(source, event_0);
  }
}

function getAssociatedType_0(){
  return TYPE_0;
}

function getClass_26(){
  return Lcom_google_gwt_event_logical_shared_CloseEvent_2_classLit;
}

function CloseEvent(){
}

_ = CloseEvent.prototype = new GwtEvent;
_.dispatch = dispatch_0;
_.getAssociatedType = getAssociatedType_0;
_.getClass$ = getClass_26;
_.typeId$ = 0;
var TYPE_0 = null;
function dispatch_1(p0){
  dynamicCast(p0, 7);
}

function fire_1(source){
  var event_0;
  if (TYPE_1) {
    event_0 = new ValueChangeEvent;
    $fireEvent(source.handlers, event_0);
  }
}

function getAssociatedType_1(){
  return TYPE_1;
}

function getClass_27(){
  return Lcom_google_gwt_event_logical_shared_ValueChangeEvent_2_classLit;
}

function ValueChangeEvent(){
}

_ = ValueChangeEvent.prototype = new GwtEvent;
_.dispatch = dispatch_1;
_.getAssociatedType = getAssociatedType_1;
_.getClass$ = getClass_27;
_.typeId$ = 0;
var TYPE_1 = null;
function getClass_28(){
  return Lcom_google_gwt_event_shared_DefaultHandlerRegistration_2_classLit;
}

function DefaultHandlerRegistration(){
}

_ = DefaultHandlerRegistration.prototype = new Object_0;
_.getClass$ = getClass_28;
_.typeId$ = 0;
function $HandlerManager(this$static, source){
  this$static.registry = $HandlerManager$HandlerRegistry(new HandlerManager$HandlerRegistry);
  this$static.source = source;
  this$static.isReverseOrder = false;
  return this$static;
}

function $addHandler(this$static, type, handler){
  this$static.firingDepth > 0?$defer(this$static, $HandlerManager$1(new HandlerManager$1, this$static, type, handler)):$addHandler_0(this$static.registry, type, handler);
  return new DefaultHandlerRegistration;
}

function $defer(this$static, command){
  !this$static.deferredDeltas && (this$static.deferredDeltas = $ArrayList(new ArrayList));
  $add_1(this$static.deferredDeltas, command);
}

function $fireEvent(this$static, event_0){
  var oldSource;
  if (event_0.dead) {
    event_0.dead = false;
    event_0.source = null;
  }
  oldSource = event_0.source;
  event_0.source = this$static.source;
  try {
    ++this$static.firingDepth;
    $fireEvent_0(this$static.registry, event_0, this$static.isReverseOrder);
  }
   finally {
    --this$static.firingDepth;
    this$static.firingDepth == 0 && $handleQueuedAddsAndRemoves(this$static);
  }
  if (oldSource == null) {
    event_0.dead = true;
    event_0.source = null;
  }
   else {
    event_0.source = oldSource;
  }
}

function $handleQueuedAddsAndRemoves(this$static){
  var c, c$iterator;
  if (this$static.deferredDeltas) {
    try {
      for (c$iterator = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl, this$static.deferredDeltas); c$iterator.i < c$iterator.this$0.size_0();) {
        c = dynamicCast($next_5(c$iterator), 8);
        $addHandler_0(c.this$0.registry, c.val$type, c.val$handler);
      }
    }
     finally {
      this$static.deferredDeltas = null;
    }
  }
}

function getClass_29(){
  return Lcom_google_gwt_event_shared_HandlerManager_2_classLit;
}

function HandlerManager(){
}

_ = HandlerManager.prototype = new Object_0;
_.getClass$ = getClass_29;
_.typeId$ = 0;
_.deferredDeltas = null;
_.firingDepth = 0;
_.isReverseOrder = false;
_.registry = null;
_.source = null;
function $HandlerManager$1(this$static, this$0, val$type, val$handler){
  this$static.this$0 = this$0;
  this$static.val$type = val$type;
  this$static.val$handler = val$handler;
  return this$static;
}

function getClass_30(){
  return Lcom_google_gwt_event_shared_HandlerManager$1_2_classLit;
}

function HandlerManager$1(){
}

_ = HandlerManager$1.prototype = new Object_0;
_.getClass$ = getClass_30;
_.typeId$ = 11;
_.this$0 = null;
_.val$handler = null;
_.val$type = null;
function $HandlerManager$HandlerRegistry(this$static){
  this$static.map = $HashMap(new HashMap);
  return this$static;
}

function $addHandler_0(this$static, type, handler){
  var l;
  l = dynamicCast($get_2(this$static.map, type), 9);
  if (!l) {
    l = $ArrayList(new ArrayList);
    $put(this$static.map, type, l);
  }
  setCheck(l.array, l.size++, handler);
}

function $fireEvent_0(this$static, event_0, isReverseOrder){
  var count, handler, i, type, l, l_0, l_1;
  type = event_0.getAssociatedType();
  count = (l = dynamicCast($get_2(this$static.map, type), 9) , !l?0:l.size);
  if (isReverseOrder) {
    for (i = count - 1; i >= 0; --i) {
      handler = (l_0 = dynamicCast($get_2(this$static.map, type), 9) , dynamicCast((checkIndex(i, l_0.size) , l_0.array[i]), 23));
      event_0.dispatch(handler);
    }
  }
   else {
    for (i = 0; i < count; ++i) {
      handler = (l_1 = dynamicCast($get_2(this$static.map, type), 9) , dynamicCast((checkIndex(i, l_1.size) , l_1.array[i]), 23));
      event_0.dispatch(handler);
    }
  }
}

function getClass_31(){
  return Lcom_google_gwt_event_shared_HandlerManager$HandlerRegistry_2_classLit;
}

function HandlerManager$HandlerRegistry(){
}

_ = HandlerManager$HandlerRegistry.prototype = new Object_0;
_.getClass$ = getClass_31;
_.typeId$ = 0;
function throwIfNull(name_0, value){
  if (null == value) {
    throw $NullPointerException_0(new NullPointerException, name_0 + ' cannot be null');
  }
}

function $clinit_77(){
  $clinit_77 = nullMethod;
  CALLBACKS = getOrCreateCallbacksObject();
}

function $JsonpRequest(this$static, callback, timeout, expectInteger, callbackParam, failureCallbackParam){
  var name_0, ctr;
  $clinit_77();
  this$static.callbackId = 'I' + (name_0 = CALLBACKS_NAME , ctr = CALLBACKS_COUNTER_NAME , $wnd[name_0][ctr]++);
  this$static.callback = callback;
  this$static.timeout = timeout;
  this$static.expectInteger = expectInteger;
  this$static.callbackParam = callbackParam;
  this$static.failureCallbackParam = failureCallbackParam;
  return this$static;
}

function $onFailure(this$static){
  $cancel_0(this$static.timer);
  addCommand($JsonpRequest$2(new JsonpRequest$2, this$static));
}

function $registerCallbacks(this$static, callbacks){
  var self_0 = this$static;
  var callback = new Object;
  callbacks[this$static.callbackId] = callback;
  callback.onSuccess = $entry(function(data){
    typeof data == 'boolean'?(data = ($clinit_199() , $Boolean(new Boolean_0, data))):typeof data == 'number' && (self_0.expectInteger?(data = $Integer(new Integer, data)):(data = $Double(new Double, data)));
    self_0.onSuccess_0(data);
  }
  );
  this$static.failureCallbackParam && (callback.onFailure = $entry(function(message){
    self_0.onFailure_0(message);
  }
  ));
}

function $unregisterCallbacks(this$static, callbacks){
  delete callbacks[this$static.callbackId];
}

function getClass_32(){
  return Lcom_google_gwt_jsonp_client_JsonpRequest_2_classLit;
}

function getOrCreateCallbacksObject(){
  var name_0 = CALLBACKS_NAME;
  if (!$wnd[name_0]) {
    $wnd[name_0] = new Object;
    $wnd[name_0][CALLBACKS_COUNTER_NAME] = 0;
  }
  return $wnd[name_0];
}

--></script>
<script><!--
function onFailure(message){
  $onFailure(this, $Exception(new Exception, message));
}

function onSuccess(data){
  $cancel_0(this.timer);
  try {
    !!this.callback && $onSuccess(this.callback, dynamicCast(data, 1));
  }
   finally {
    addCommand($JsonpRequest$2(new JsonpRequest$2, this));
  }
}

function toString_5(){
  return 'JsonpRequest(id=' + this.callbackId + ')';
}

function JsonpRequest(){
}

_ = JsonpRequest.prototype = new Object_0;
_.getClass$ = getClass_32;
_.onFailure_0 = onFailure;
_.onSuccess_0 = onSuccess;
_.toString$ = toString_5;
_.typeId$ = 0;
_.callback = null;
_.callbackId = null;
_.callbackParam = null;
_.expectInteger = false;
_.failureCallbackParam = null;
_.timeout = 0;
_.timer = null;
var CALLBACKS, CALLBACKS_COUNTER_NAME = '__gwt_jsonp_counter__', CALLBACKS_NAME = '__gwt_jsonp__';
function $clinit_78(){
  $clinit_78 = nullMethod;
  $clinit_1();
}

function $JsonpRequest$1(this$static, this$0, val$baseUri){
  $clinit_78();
  this$static.this$0 = this$0;
  this$static.val$baseUri = val$baseUri;
  return this$static;
}

function getClass_33(){
  return Lcom_google_gwt_jsonp_client_JsonpRequest$1_2_classLit;
}

function run_0(){
  $onFailure(this.this$0, $TimeoutException(new TimeoutException, 'Timeout while calling ' + this.val$baseUri));
}

function JsonpRequest$1(){
}

_ = JsonpRequest$1.prototype = new Timer;
_.getClass$ = getClass_33;
_.run = run_0;
_.typeId$ = 12;
_.this$0 = null;
_.val$baseUri = null;
function $JsonpRequest$2(this$static, this$0){
  this$static.this$0 = this$0;
  return this$static;
}

function getClass_34(){
  return Lcom_google_gwt_jsonp_client_JsonpRequest$2_2_classLit;
}

function JsonpRequest$2(){
}

_ = JsonpRequest$2.prototype = new Object_0;
_.getClass$ = getClass_34;
_.typeId$ = 13;
_.this$0 = null;
function $send_0(url, callback, expectInteger){
  var request, prefix, script, uri;
  request = $JsonpRequest(new JsonpRequest, callback, 10000, expectInteger, 'callback', null);
  $registerCallbacks(request, CALLBACKS);
  uri = $StringBuffer_0(new StringBuffer, url);
  $append_0(uri, url.indexOf('?') != -1?'&':'?');
  prefix = '__gwt_jsonp__.' + request.callbackId;
  $append_0($append_0($append_0($append_0(uri, request.callbackParam), '='), prefix), '.onSuccess');
  script = ($clinit_26() , $doc).createElement('script');
  script.type = 'text/javascript';
  script.id = request.callbackId;
  script.src = uri.impl.string;
  request.timer = $JsonpRequest$1(new JsonpRequest$1, request, url);
  $schedule(request.timer, request.timeout);
  $doc.getElementsByTagName('head')[0].appendChild(script);
  return request;
}

function $TimeoutException(this$static, s){
  $fillInStackTrace();
  this$static.detailMessage = s;
  return this$static;
}

function getClass_35(){
  return Lcom_google_gwt_jsonp_client_TimeoutException_2_classLit;
}

function TimeoutException(){
}

_ = TimeoutException.prototype = new Exception;
_.getClass$ = getClass_35;
_.typeId$ = 14;
function createFrom(array, length_0){
  var a, result;
  a = array;
  result = createFromSeed(0, length_0);
  initValues(a.arrayClass$, a.typeId$, a.queryId$, result);
  return result;
}

function createFromSeed(seedType, length_0){
  var array = new Array(length_0);
  if (seedType > 0) {
    var value = [null, 0, false, [0, 0]][seedType];
    for (var i = 0; i < length_0; ++i) {
      array[i] = value;
    }
  }
  return array;
}

function getClass_36(){
  return this.arrayClass$;
}

function initDim(arrayClass, typeId, queryId, length_0, seedType){
  var result;
  result = createFromSeed(seedType, length_0);
  $clinit_83();
  wrapArray(result, expandoNames_0, expandoValues_0);
  result.arrayClass$ = arrayClass;
  result.typeId$ = typeId;
  result.queryId$ = queryId;
  return result;
}

function initValues(arrayClass, typeId, queryId, array){
  $clinit_83();
  wrapArray(array, expandoNames_0, expandoValues_0);
  array.arrayClass$ = arrayClass;
  array.typeId$ = typeId;
  array.queryId$ = queryId;
  return array;
}

function setCheck(array, index, value){
  if (value != null) {
    if (array.queryId$ > 0 && !canCastUnsafe(value.typeId$, array.queryId$)) {
      throw $ArrayStoreException(new ArrayStoreException);
    }
    if (array.queryId$ < 0 && (value.typeMarker$ == nullMethod || value.typeId$ == 2)) {
      throw $ArrayStoreException(new ArrayStoreException);
    }
  }
  return array[index] = value;
}

function Array_0(){
}

_ = Array_0.prototype = new Object_0;
_.getClass$ = getClass_36;
_.typeId$ = 0;
_.arrayClass$ = null;
_.length = 0;
_.queryId$ = 0;
function $clinit_83(){
  $clinit_83 = nullMethod;
  expandoNames_0 = [];
  expandoValues_0 = [];
  initExpandos(new Array_0, expandoNames_0, expandoValues_0);
}

function initExpandos(protoType, expandoNames, expandoValues){
  var i = 0, value;
  for (var name_0 in protoType) {
    if (value = protoType[name_0]) {
      expandoNames[i] = name_0;
      expandoValues[i] = value;
      ++i;
    }
  }
}

function wrapArray(array, expandoNames, expandoValues){
  $clinit_83();
  for (var i = 0, c = expandoNames.length; i < c; ++i) {
    array[expandoNames[i]] = expandoValues[i];
  }
}

var expandoNames_0, expandoValues_0;
function canCast(srcId, dstId){
  return srcId && !!typeIdArray[srcId][dstId];
}

function canCastUnsafe(srcId, dstId){
  return srcId && typeIdArray[srcId][dstId];
}

function dynamicCast(src, dstId){
  if (src != null && !canCastUnsafe(src.typeId$, dstId)) {
    throw $ClassCastException(new ClassCastException);
  }
  return src;
}

function dynamicCastJso(src){
  if (src != null && (src.typeMarker$ == nullMethod || src.typeId$ == 2)) {
    throw $ClassCastException(new ClassCastException);
  }
  return src;
}

function instanceOf(src, dstId){
  return src != null && canCast(src.typeId$, dstId);
}

function instanceOfJso(src){
  return src != null && src.typeMarker$ != nullMethod && src.typeId$ != 2;
}

function throwClassCastExceptionUnlessNull(o){
  if (o != null) {
    throw $ClassCastException(new ClassCastException);
  }
  return o;
}

var typeIdArray = [{}, {}, {1:1, 16:1, 17:1, 18:1}, {10:1}, {25:1}, {25:1}, {16:1, 21:1}, {16:1, 21:1}, {3:1, 16:1, 21:1}, {3:1, 16:1, 21:1, 31:1}, {5:1}, {8:1}, {25:1}, {24:1}, {16:1, 21:1}, {3:1, 16:1, 21:1}, {25:1}, {25:1}, {6:1, 23:1}, {11:1}, {11:1}, {11:1}, {11:1}, {13:1}, {11:1, 12:1, 13:1, 14:1}, {11:1, 12:1, 13:1, 14:1, 28:1}, {11:1, 12:1, 13:1, 14:1, 28:1}, {11:1, 12:1, 13:1, 14:1, 28:1}, {3:1, 16:1, 21:1}, {11:1, 12:1, 13:1, 14:1, 28:1}, {36:1}, {9:1, 16:1, 36:1}, {9:1, 16:1, 36:1}, {11:1, 12:1, 13:1, 14:1}, {11:1, 12:1, 13:1, 14:1, 28:1}, {11:1, 12:1, 13:1, 14:1, 28:1}, {11:1, 12:1, 13:1, 14:1, 28:1}, {11:1, 12:1, 13:1, 14:1}, {11:1, 12:1, 13:1, 14:1, 27:1, 28:1}, {6:1, 23:1}, {11:1, 12:1, 13:1, 14:1, 27:1, 28:1}, {11:1, 12:1, 13:1, 14:1, 28:1}, {11:1, 12:1, 13:1, 14:1, 28:1}, {11:1, 12:1, 13:1, 14:1, 28:1}, {11:1, 12:1, 13:1, 14:1, 28:1}, {25:1}, {25:1}, {10:1}, {10:1}, {16:1, 18:1, 19:1}, {15:1, 16:1, 18:1, 19:1}, {3:1, 16:1, 21:1}, {29:1}, {29:1}, {29:1}, {29:1}, {29:1}, {29:1}, {29:1}, {3:1, 16:1, 21:1}, {29:1}, {29:1, 30:1}, {29:1}, {29:1}, {29:1}, {29:1}, {3:1, 16:1, 21:1}, {3:1, 16:1, 21:1}, {16:1, 21:1}, {16:1, 21:1}, {16:1, 18:1, 32:1}, {3:1, 16:1, 21:1}, {16:1}, {16:1, 18:1, 33:1}, {3:1, 16:1, 21:1}, {3:1, 16:1, 21:1}, {3:1, 16:1, 21:1}, {16:1, 18:1, 34:1}, {3:1, 16:1, 21:1}, {16:1, 20:1}, {17:1}, {3:1, 16:1, 21:1}, {38:1}, {38:1}, {35:1}, {35:1}, {35:1}, {38:1}, {16:1, 37:1}, {16:1, 38:1}, {35:1}, {3:1, 16:1, 21:1}, {7:1, 23:1}, {40:1}, {23:1, 39:1}, {11:1, 12:1, 13:1, 14:1}, {4:1, 23:1}, {11:1, 12:1, 13:1, 14:1}, {16:1}, {2:1, 16:1}, {16:1}, {16:1}, {16:1}, {16:1}, {16:1}, {16:1, 22:1}, {16:1}, {16:1}, {16:1}, {16:1}, {16:1}, {16:1}, {16:1}, {16:1, 26:1}, {16:1}];
function init(){
  var c;
  !!$stats && $stats({moduleName:$moduleName, sessionId:$sessionId, subSystem:'startup', evtGroup:'moduleStartup', millis:(new Date).getTime(), type:'onModuleLoadStart', className:'org.agora.photogallery.client.Photogallery'});
  c = $get_Key$type$org$agora$photogallery$client$AppController$_annotation$$none$$($Photogallery(new Photogallery).ginjector);
  $present(c, ($clinit_144() , get_1(null)));
}

function caught_0(e){
  if (e != null && canCast(e.typeId$, 21)) {
    return e;
  }
  return $JavaScriptException(new JavaScriptException, e);
}

function $CommandCanceledException(this$static){
  $fillInStackTrace();
  return this$static;
}

function getClass_37(){
  return Lcom_google_gwt_user_client_CommandCanceledException_2_classLit;
}

function CommandCanceledException(){
}

_ = CommandCanceledException.prototype = new RuntimeException;
_.getClass$ = getClass_37;
_.typeId$ = 15;
function $CommandExecutor(this$static){
  this$static.cancellationTimer = $CommandExecutor$1(new CommandExecutor$1, this$static);
  this$static.commands = $ArrayList(new ArrayList);
  this$static.executionTimer = $CommandExecutor$2(new CommandExecutor$2, this$static);
  this$static.iterator = $CommandExecutor$CircularIterator(new CommandExecutor$CircularIterator, this$static);
  return this$static;
}

function $doCommandCanceled(this$static){
  var cmd;
  cmd = $getLast(this$static.iterator);
  $remove(this$static.iterator);
  cmd != null && canCast(cmd.typeId$, 24) && $CommandCanceledException(new CommandCanceledException, dynamicCast(cmd, 24));
  this$static.executing = false;
  $maybeStartExecutionTimer(this$static);
}

function $doExecuteCommands(this$static, startTimeMillis){
  var command, element, wasCanceled, script;
  wasCanceled = false;
  try {
    this$static.executing = true;
    this$static.iterator.end = this$static.commands.size;
    $schedule(this$static.cancellationTimer, 10000);
    while ($hasNext(this$static.iterator)) {
      element = $next(this$static.iterator);
      try {
        if (element == null) {
          return;
        }
        if (element != null && canCast(element.typeId$, 24)) {
          command = dynamicCast(element, 24);
          $unregisterCallbacks(command.this$0, ($clinit_77() , CALLBACKS));
          script = $doc.getElementById(command.this$0.callbackId);
          !!script && $doc.getElementsByTagName('head')[0].removeChild(script);
        }
      }
       finally {
        wasCanceled = this$static.iterator.last == -1;
        if (wasCanceled) {
          return;
        }
        $remove(this$static.iterator);
      }
      if ((new Date).getTime() - startTimeMillis >= 100) {
        return;
      }
    }
  }
   finally {
    if (!wasCanceled) {
      $cancel_0(this$static.cancellationTimer);
      this$static.executing = false;
      $maybeStartExecutionTimer(this$static);
    }
  }
}

function $maybeStartExecutionTimer(this$static){
  if (this$static.commands.size != 0 && !this$static.executionTimerPending && !this$static.executing) {
    this$static.executionTimerPending = true;
    $schedule(this$static.executionTimer, 1);
  }
}

function $submit(this$static, command){
  $add_1(this$static.commands, command);
  $maybeStartExecutionTimer(this$static);
}

function getClass_38(){
  return Lcom_google_gwt_user_client_CommandExecutor_2_classLit;
}

function CommandExecutor(){
}

_ = CommandExecutor.prototype = new Object_0;
_.getClass$ = getClass_38;
_.typeId$ = 0;
_.executing = false;
_.executionTimerPending = false;
function $clinit_95(){
  $clinit_95 = nullMethod;
  $clinit_1();
}

function $CommandExecutor$1(this$static, this$0){
  $clinit_95();
  this$static.this$0 = this$0;
  return this$static;
}

function getClass_39(){
  return Lcom_google_gwt_user_client_CommandExecutor$1_2_classLit;
}

function run_1(){
  if (!this.this$0.executing) {
    return;
  }
  $doCommandCanceled(this.this$0);
}

function CommandExecutor$1(){
}

_ = CommandExecutor$1.prototype = new Timer;
_.getClass$ = getClass_39;
_.run = run_1;
_.typeId$ = 16;
_.this$0 = null;
function $clinit_96(){
  $clinit_96 = nullMethod;
  $clinit_1();
}

function $CommandExecutor$2(this$static, this$0){
  $clinit_96();
  this$static.this$0 = this$0;
  return this$static;
}

function getClass_40(){
  return Lcom_google_gwt_user_client_CommandExecutor$2_2_classLit;
}

function run_2(){
  this.this$0.executionTimerPending = false;
  $doExecuteCommands(this.this$0, (new Date).getTime());
}

function CommandExecutor$2(){
}

_ = CommandExecutor$2.prototype = new Timer;
_.getClass$ = getClass_40;
_.run = run_2;
_.typeId$ = 17;
_.this$0 = null;
function $CommandExecutor$CircularIterator(this$static, this$0){
  this$static.this$0 = this$0;
  return this$static;
}

function $getLast(this$static){
  return $get_1(this$static.this$0.commands, this$static.last);
}

function $hasNext(this$static){
  return this$static.next < this$static.end;
}

function $next(this$static){
  var command;
  this$static.last = this$static.next;
  command = $get_1(this$static.this$0.commands, this$static.next++);
  this$static.next >= this$static.end && (this$static.next = 0);
  return command;
}

function $remove(this$static){
  $remove_1(this$static.this$0.commands, this$static.last);
  --this$static.end;
  this$static.last <= this$static.next && --this$static.next < 0 && (this$static.next = 0);
  this$static.last = -1;
}

function getClass_41(){
  return Lcom_google_gwt_user_client_CommandExecutor$CircularIterator_2_classLit;
}

function hasNext(){
  return this.next < this.end;
}

function next_0(){
  return $next(this);
}

function CommandExecutor$CircularIterator(){
}

_ = CommandExecutor$CircularIterator.prototype = new Object_0;
_.getClass$ = getClass_41;
_.hasNext = hasNext;
_.next_0 = next_0;
_.typeId$ = 0;
_.end = 0;
_.last = -1;
_.next = 0;
_.this$0 = null;
function dispatchEvent_0(evt, elem, listener){
  var prevCurrentEvent;
  prevCurrentEvent = currentEvent;
  currentEvent = evt;
  elem == sCaptureElem && $eventGetTypeInt(($clinit_26() , evt).type) == 8192 && (sCaptureElem = null);
  listener.onBrowserEvent(evt);
  currentEvent = prevCurrentEvent;
}

function getParent(elem){
  var parent_0;
  return parent_0 = ($clinit_26() , elem).parentNode , (!parent_0 || parent_0.nodeType != 1) && (parent_0 = null) , parent_0;
}

var currentEvent = null, sCaptureElem = null;
function $clinit_99(){
  $clinit_99 = nullMethod;
  commandExecutor = $CommandExecutor(new CommandExecutor);
}

function addCommand(cmd){
  $clinit_99();
  if (!cmd) {
    throw $NullPointerException_0(new NullPointerException, 'cmd cannot be null');
  }
  $submit(commandExecutor, cmd);
}

var commandExecutor;
function $clinit_101(){
  $clinit_101 = nullMethod;
  impl = $HistoryImplMozilla(new HistoryImplMozilla);
  !$init_0(impl) && (impl = null);
}

function fireCurrentHistoryState(){
  $clinit_101();
  if (impl) {
    impl?$wnd.__gwt_historyToken || '':'';
    fire_1(impl);
  }
}

var impl = null;
function getClass_42(){
  return Lcom_google_gwt_user_client_Timer$1_2_classLit;
}

function onClose(event_0){
  while (($clinit_1() , timers).size > 0) {
    $cancel_0(dynamicCast($get_1(timers, 0), 25));
  }
}

function Timer$1(){
}

_ = Timer$1.prototype = new Object_0;
_.getClass$ = getClass_42;
_.onClose = onClose;
_.typeId$ = 18;
function addCloseHandler(handler){
  maybeInitializeCloseHandlers();
  return addHandler(TYPE_0?TYPE_0:(TYPE_0 = $GwtEvent$Type(new GwtEvent$Type)), handler);
}

function addHandler(type, handler){
  return $addHandler(getHandlers(), type, handler);
}

function getHandlers(){
  !handlers && (handlers = $Window$WindowHandlers(new Window$WindowHandlers));
  return handlers;
}

function maybeInitializeCloseHandlers(){
  if (!closeHandlersInitialized) {
    $initWindowCloseHandler();
    closeHandlersInitialized = true;
  }
}

function onClosing(){
  var event_0;
  if (closeHandlersInitialized) {
    event_0 = ($clinit_104() , new Window$ClosingEvent);
    !!handlers && $fireEvent(handlers, event_0);
    return null;
  }
  return null;
}

var closeHandlersInitialized = false, handlers = null;
function $clinit_104(){
  $clinit_104 = nullMethod;
  TYPE_2 = $GwtEvent$Type(new GwtEvent$Type);
}

function dispatch_2(p0){
  throwClassCastExceptionUnlessNull(p0);
  null.nullMethod();
}

function getAssociatedType_2(){
  return TYPE_2;
}

function getClass_43(){
  return Lcom_google_gwt_user_client_Window$ClosingEvent_2_classLit;
}

function Window$ClosingEvent(){
}

_ = Window$ClosingEvent.prototype = new GwtEvent;
_.dispatch = dispatch_2;
_.getAssociatedType = getAssociatedType_2;
_.getClass$ = getClass_43;
_.typeId$ = 0;
var TYPE_2;
function $Window$WindowHandlers(this$static){
  this$static.registry = $HandlerManager$HandlerRegistry(new HandlerManager$HandlerRegistry);
  this$static.source = null;
  this$static.isReverseOrder = false;
  return this$static;
}

function getClass_44(){
  return Lcom_google_gwt_user_client_Window$WindowHandlers_2_classLit;
}

function Window$WindowHandlers(){
}

_ = Window$WindowHandlers.prototype = new HandlerManager;
_.getClass$ = getClass_44;
_.typeId$ = 19;
function $eventGetTypeInt(eventType){
  switch (eventType) {
    case 'blur':
      return 4096;
    case 'change':
      return 1024;
    case 'click':
      return 1;
    case 'dblclick':
      return 2;
    case 'focus':
      return 2048;
    case 'keydown':
      return 128;
    case 'keypress':
      return 256;
    case 'keyup':
      return 512;
    case 'load':
      return 32768;
    case 'losecapture':
      return 8192;
    case 'mousedown':
      return 4;
    case 'mousemove':
      return 64;
    case 'mouseout':
      return 32;
    case 'mouseover':
      return 16;
    case 'mouseup':
      return 8;
    case 'scroll':
      return 16384;
    case 'error':
      return 65536;
    case 'mousewheel':
      return 131072;
    case 'DOMMouseScroll':
      return 131072;
    case 'contextmenu':
      return 262144;
    case 'paste':
      return 524288;
  }
}

function $maybeInitializeEventSystem(){
  if (!eventSystemIsInitialized) {
    $initEventSystem();
    $initSyntheticMouseUpEvents();
    eventSystemIsInitialized = true;
  }
}

function isMyListener(object){
  return !(object != null && object.typeMarker$ != nullMethod && object.typeId$ != 2) && object != null && canCast(object.typeId$, 12);
}

var eventSystemIsInitialized = false;
function $eventGetToElement(evt){
  if ($equals_1(($clinit_26() , evt).type, 'mouseover')) {
    return evt.target;
  }
  if ($equals_1(evt.type, 'mouseout')) {
    return $eventGetRelatedTarget(evt);
  }
  return null;
}

function $getChild(elem, index){
  var count = 0, child = elem.firstChild;
  while (child) {
    var next = child.nextSibling;
    if (child.nodeType == 1) {
      if (index == count)
        return child;
      ++count;
    }
    child = next;
  }
  return null;
}

function $initEventSystem(){
  dispatchCapturedMouseEvent = $entry(function(evt){
    if (dispatchCapturedEvent(evt)) {
      var cap = captureElem;
      if (cap && cap.__listener) {
        if (isMyListener(cap.__listener)) {
          dispatchEvent_0(evt, cap, cap.__listener);
          evt.stopPropagation();
        }
      }
    }
  }
  );
  dispatchCapturedEvent = $entry(function(evt){
    return true;
  }
  );
  dispatchEvent_1 = $entry(function(evt){
    var listener, curElem = this;
    while (curElem && !(listener = curElem.__listener)) {
      curElem = curElem.parentNode;
    }
    curElem && curElem.nodeType != 1 && (curElem = null);
    listener && isMyListener(listener) && dispatchEvent_0(evt, curElem, listener);
  }
  );
  $wnd.addEventListener('click', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('dblclick', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('mousedown', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('mouseup', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('mousemove', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('mouseover', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('mouseout', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('mousewheel', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('keydown', dispatchCapturedEvent, true);
  $wnd.addEventListener('keyup', dispatchCapturedEvent, true);
  $wnd.addEventListener('keypress', dispatchCapturedEvent, true);
}

function $insertChild(parent_0, toAdd, index){
  var count = 0, child = parent_0.firstChild, before = null;
  while (child) {
    if (child.nodeType == 1) {
      if (count == index) {
        before = child;
        break;
      }
      ++count;
    }
    child = child.nextSibling;
  }
  parent_0.insertBefore(toAdd, before);
}

function $sinkEventsImpl(elem, bits){
  var chMask = (elem.__eventBits || 0) ^ bits;
  elem.__eventBits = bits;
  if (!chMask)
    return;
  chMask & 1 && (elem.onclick = bits & 1?dispatchEvent_1:null);
  chMask & 2 && (elem.ondblclick = bits & 2?dispatchEvent_1:null);
  chMask & 4 && (elem.onmousedown = bits & 4?dispatchEvent_1:null);
  chMask & 8 && (elem.onmouseup = bits & 8?dispatchEvent_1:null);
  chMask & 16 && (elem.onmouseover = bits & 16?dispatchEvent_1:null);
  chMask & 32 && (elem.onmouseout = bits & 32?dispatchEvent_1:null);
  chMask & 64 && (elem.onmousemove = bits & 64?dispatchEvent_1:null);
  chMask & 128 && (elem.onkeydown = bits & 128?dispatchEvent_1:null);
  chMask & 256 && (elem.onkeypress = bits & 256?dispatchEvent_1:null);
  chMask & 512 && (elem.onkeyup = bits & 512?dispatchEvent_1:null);
  chMask & 1024 && (elem.onchange = bits & 1024?dispatchEvent_1:null);
  chMask & 2048 && (elem.onfocus = bits & 2048?dispatchEvent_1:null);
  chMask & 4096 && (elem.onblur = bits & 4096?dispatchEvent_1:null);
  chMask & 8192 && (elem.onlosecapture = bits & 8192?dispatchEvent_1:null);
  chMask & 16384 && (elem.onscroll = bits & 16384?dispatchEvent_1:null);
  chMask & 32768 && (elem.onload = bits & 32768?dispatchEvent_1:null);
  chMask & 65536 && (elem.onerror = bits & 65536?dispatchEvent_1:null);
  chMask & 131072 && (elem.onmousewheel = bits & 131072?dispatchEvent_1:null);
  chMask & 262144 && (elem.oncontextmenu = bits & 262144?dispatchEvent_1:null);
  chMask & 524288 && (elem.onpaste = bits & 524288?dispatchEvent_1:null);
}

var captureElem = null, dispatchCapturedEvent = null, dispatchCapturedMouseEvent = null, dispatchEvent_1 = null;
function $initSyntheticMouseUpEvents(){
  $wnd.addEventListener('mouseout', $entry(function(evt){
    var cap = $wnd.__captureElem;
    if (cap && !evt.relatedTarget) {
      if ('html' == evt.target.tagName.toLowerCase()) {
        var muEvent = $doc.createEvent('MouseEvents');
        muEvent.initMouseEvent('mouseup', true, true, $wnd, 0, evt.screenX, evt.screenY, evt.clientX, evt.clientY, evt.ctrlKey, evt.altKey, evt.shiftKey, evt.metaKey, evt.button, null);
        cap.dispatchEvent(muEvent);
      }
    }
  }
  ), true);
  $wnd.addEventListener('DOMMouseScroll', dispatchCapturedMouseEvent, true);
}

function $sinkEvents(elem, bits){
  $maybeInitializeEventSystem();
  $sinkEventsImpl(elem, bits);
  bits & 131072 && elem.addEventListener('DOMMouseScroll', dispatchEvent_1, false);
}

function $addValueChangeHandler(this$static, handler){
  return $addHandler(this$static.handlers, (!TYPE_1 && (TYPE_1 = $GwtEvent$Type(new GwtEvent$Type)) , TYPE_1), handler);
}

function $newItem(this$static, historyToken, issueEvent){
  historyToken = historyToken == null?'':historyToken;
  if (!$equals_1(historyToken, $wnd.__gwt_historyToken || '')) {
    $wnd.__gwt_historyToken = historyToken;
    $nativeUpdate(this$static, historyToken);
    issueEvent && fire_1(this$static);
  }
}

function decodeFragment(encodedFragment){
  return decodeURI(encodedFragment.replace('%23', '#'));
}

function encodeFragment(fragment){
  return encodeURI(fragment).replace('#', '%23');
}

function getClass_45(){
  return Lcom_google_gwt_user_client_impl_HistoryImpl_2_classLit;
}

function newItemOnEvent(historyToken){
  historyToken = historyToken == null?'':historyToken;
  if (!$equals_1(historyToken, $wnd.__gwt_historyToken || '')) {
    $wnd.__gwt_historyToken = historyToken;
    fire_1(this);
  }
}

function HistoryImpl(){
}

_ = HistoryImpl.prototype = new Object_0;
_.decodeFragment = decodeFragment;
_.encodeFragment = encodeFragment;
_.getClass$ = getClass_45;
_.newItemOnEvent = newItemOnEvent;
_.typeId$ = 20;
function $init_0(this$static){
  var token_0 = '';
  var hash_0 = $wnd.location.hash;
  hash_0.length > 0 && (token_0 = this$static.decodeFragment(hash_0.substring(1)));
  $wnd.__gwt_historyToken = token_0;
  var historyImpl = this$static;
  $wnd.__checkHistory = $entry(function(){
    $wnd.setTimeout($wnd.__checkHistory, 250);
    var token = '', hash = $wnd.location.hash;
    hash.length > 0 && (token = historyImpl.decodeFragment(hash.substring(1)));
    historyImpl.newItemOnEvent(token);
  }
  );
  $wnd.__checkHistory();
  return true;
}

function getClass_46(){
  return Lcom_google_gwt_user_client_impl_HistoryImplTimer_2_classLit;
}

function HistoryImplTimer(){
}

_ = HistoryImplTimer.prototype = new HistoryImpl;
_.getClass$ = getClass_46;
_.typeId$ = 21;
function $HistoryImplMozilla(this$static){
  this$static.handlers = $HandlerManager(new HandlerManager, null);
  return this$static;
}

function $nativeUpdate(this$static, historyToken){
  if (historyToken.length == 0) {
    var s = $wnd.location.href;
    var i = s.indexOf('#');
    i != -1 && (s = s.substring(0, i));
    $wnd.location = s + '#';
  }
   else {
    $wnd.location.hash = this$static.encodeFragment(historyToken);
  }
}

function decodeFragment_0(encodedFragment){
  return encodedFragment;
}

function getClass_47(){
  return Lcom_google_gwt_user_client_impl_HistoryImplMozilla_2_classLit;
}

function HistoryImplMozilla(){
}

_ = HistoryImplMozilla.prototype = new HistoryImplTimer;
_.decodeFragment = decodeFragment_0;
_.getClass$ = getClass_47;
_.typeId$ = 22;
function $initWindowCloseHandler(){
  var oldOnBeforeUnload = $wnd.onbeforeunload;
  var oldOnUnload = $wnd.onunload;
  $wnd.onbeforeunload = function(evt){
    var ret, oldRet;
    try {
      ret = $entry(onClosing)();
    }
     finally {
      oldRet = oldOnBeforeUnload && oldOnBeforeUnload(evt);
    }
    if (ret != null) {
      return ret;
    }
    if (oldRet != null) {
      return oldRet;
    }
  }
  ;
  $wnd.onunload = $entry(function(evt){
    try {
      closeHandlersInitialized && fire_0(getHandlers());
    }
     finally {
      oldOnUnload && oldOnUnload(evt);
      $wnd.onresize = null;
      $wnd.onscroll = null;
      $wnd.onbeforeunload = null;
      $wnd.onunload = null;
    }
  }
  );
}

function $replaceNode(node, newNode){
  var p = node.parentNode;
  if (!p) {
    return;
  }
  p.insertBefore(newNode, node);
  p.removeChild(node);
}

function $setElement(this$static, elem){
  this$static.element = elem;
}

function getClass_48(){
  return Lcom_google_gwt_user_client_ui_UIObject_2_classLit;
}

function toString_7(){
  if (!this.element) {
    return '(null handle)';
  }
  return $toString_0(($clinit_26() , this.element));
}

function UIObject(){
}

_ = UIObject.prototype = new Object_0;
_.getClass$ = getClass_48;
_.toString$ = toString_7;
_.typeId$ = 23;
_.element = null;
function $addHandler_1(this$static, handler, type){
  return $addHandler(!this$static.handlerManager?(this$static.handlerManager = $HandlerManager(new HandlerManager, this$static)):this$static.handlerManager, type, handler);
}

function $fireEvent_1(this$static, event_0){
  !!this$static.handlerManager && $fireEvent(this$static.handlerManager, event_0);
}

function $onAttach(this$static){
  var bitsToAdd;
  if (this$static.isAttached()) {
    throw $IllegalStateException_0(new IllegalStateException, "Should only call onAttach when the widget is detached from the browser's document");
  }
  this$static.attached = true;
  this$static.element.__listener = this$static;
  bitsToAdd = this$static.eventsToSink;
  this$static.eventsToSink = -1;
  bitsToAdd > 0 && $sinkEvents_0(this$static, bitsToAdd);
  this$static.doAttachChildren();
  this$static.onLoad();
}

function $onBrowserEvent(this$static, event_0){
  var related;
  switch ($eventGetTypeInt(($clinit_26() , event_0).type)) {
    case 16:
    case 32:
      related = $eventGetRelatedTarget(event_0);
      if (!!related && $isOrHasChild(this$static.element, related)) {
        return;
      }

  }
  fireNativeEvent(event_0, this$static, this$static.element);
}

function $removeFromParent(this$static){
  if (!this$static.parent_0) {
    $clinit_144();
    $containsKey(widgetsToDetach.map, this$static) && detachNow(this$static);
  }
   else if (instanceOf(this$static.parent_0, 28)) {
    dynamicCast(this$static.parent_0, 28).remove(this$static);
  }
   else if (this$static.parent_0) {
    throw $IllegalStateException_0(new IllegalStateException, "This widget's parent does not implement HasWidgets");
  }
}

function $replaceElement_0(this$static, elem){
  this$static.attached && (this$static.element.__listener = null , undefined);
  !!this$static.element && $replaceNode(this$static.element, elem);
  this$static.element = elem;
  this$static.attached && (this$static.element.__listener = this$static , undefined);
}

function $setParent(this$static, parent_0){
  var oldParent;
  oldParent = this$static.parent_0;
  if (!parent_0) {
    try {
      !!oldParent && oldParent.isAttached() && this$static.onDetach();
    }
     finally {
      this$static.parent_0 = null;
    }
  }
   else {
    if (oldParent) {
      throw $IllegalStateException_0(new IllegalStateException, 'Cannot set a new parent without first clearing the old parent');
    }
    this$static.parent_0 = parent_0;
    parent_0.isAttached() && this$static.onAttach();
  }
}

function $sinkEvents_0(this$static, eventBitsToAdd){
  this$static.eventsToSink == -1?$sinkEvents(this$static.element, eventBitsToAdd | (this$static.element.__eventBits || 0)):(this$static.eventsToSink |= eventBitsToAdd);
}

function doAttachChildren(){
}

function doDetachChildren(){
}

function getClass_49(){
  return Lcom_google_gwt_user_client_ui_Widget_2_classLit;
}

function isAttached(){
  return this.attached;
}

--></script>
<script><!--
function onAttach(){
  $onAttach(this);
}

function onBrowserEvent(event_0){
  $onBrowserEvent(this, event_0);
}

function onDetach(){
  if (!this.isAttached()) {
    throw $IllegalStateException_0(new IllegalStateException, "Should only call onDetach when the widget is attached to the browser's document");
  }
  try {
    this.onUnload();
  }
   finally {
    try {
      this.doDetachChildren();
    }
     finally {
      this.element.__listener = null;
      this.attached = false;
    }
  }
}

function onLoad(){
}

function onUnload(){
}

function Widget(){
}

_ = Widget.prototype = new UIObject;
_.doAttachChildren = doAttachChildren;
_.doDetachChildren = doDetachChildren;
_.getClass$ = getClass_49;
_.isAttached = isAttached;
_.onAttach = onAttach;
_.onBrowserEvent = onBrowserEvent;
_.onDetach = onDetach;
_.onLoad = onLoad;
_.onUnload = onUnload;
_.typeId$ = 24;
_.attached = false;
_.eventsToSink = 0;
_.handlerManager = null;
_.parent_0 = null;
function $clear(this$static){
  var it;
  it = $WidgetCollection$WidgetIterator(new WidgetCollection$WidgetIterator, this$static.children);
  while (it.index_0 < it.this$0.size - 1) {
    $next_1(it);
    $remove_6(it);
  }
}

function doAttachChildren_0(){
  tryCommand(this, ($clinit_119() , attachCommand));
}

function doDetachChildren_0(){
  tryCommand(this, ($clinit_119() , detachCommand));
}

function getClass_50(){
  return Lcom_google_gwt_user_client_ui_Panel_2_classLit;
}

function onLoad_0(){
}

function onUnload_0(){
}

function Panel(){
}

_ = Panel.prototype = new Widget;
_.doAttachChildren = doAttachChildren_0;
_.doDetachChildren = doDetachChildren_0;
_.getClass$ = getClass_50;
_.onLoad = onLoad_0;
_.onUnload = onUnload_0;
_.typeId$ = 25;
function $adjustIndex(this$static, child, beforeIndex){
  var idx;
  $checkIndexBoundsForInsertion(this$static, beforeIndex);
  if (child.parent_0 == this$static) {
    idx = $indexOf_0(this$static.children, child);
    idx < beforeIndex && --beforeIndex;
  }
  return beforeIndex;
}

function $checkIndexBoundsForInsertion(this$static, index){
  if (index < 0 || index > this$static.children.size) {
    throw $IndexOutOfBoundsException(new IndexOutOfBoundsException);
  }
}

function $insert(this$static, child, container, beforeIndex, domInsert){
  beforeIndex = $adjustIndex(this$static, child, beforeIndex);
  $removeFromParent(child);
  $insert_0(this$static.children, child, beforeIndex);
  domInsert?$insertChild(container, child.element, beforeIndex):container.appendChild(child.element);
  $setParent(child, this$static);
}

function $remove_0(this$static, w){
  var elem, parent_0;
  if (w.parent_0 != this$static) {
    return false;
  }
  try {
    $setParent(w, null);
  }
   finally {
    elem = w.element;
    (parent_0 = ($clinit_26() , elem).parentNode , (!parent_0 || parent_0.nodeType != 1) && (parent_0 = null) , parent_0).removeChild(elem);
    $remove_5(this$static.children, w);
  }
  return true;
}

function getClass_51(){
  return Lcom_google_gwt_user_client_ui_ComplexPanel_2_classLit;
}

function iterator(){
  return $WidgetCollection$WidgetIterator(new WidgetCollection$WidgetIterator, this.children);
}

function remove(w){
  return $remove_0(this, w);
}

function ComplexPanel(){
}

_ = ComplexPanel.prototype = new Panel;
_.getClass$ = getClass_51;
_.iterator_0 = iterator;
_.remove = remove;
_.typeId$ = 26;
function $AbsolutePanel_0(this$static, elem){
  this$static.children = $WidgetCollection(new WidgetCollection, this$static);
  this$static.element = elem;
  return this$static;
}

function $add_0(this$static, w, left, top_0){
  var beforeIndex;
  $removeFromParent(w);
  beforeIndex = this$static.children.size;
  $setWidgetPositionImpl(w, left, top_0);
  $insert(this$static, w, this$static.element, beforeIndex, true);
}

function $setWidgetPositionImpl(w, left, top_0){
  var h;
  h = w.element;
  if (left == -1 && top_0 == -1) {
    changeToStaticPositioning(h);
  }
   else {
    h.style['position'] = 'absolute';
    h.style['left'] = left + 'px';
    h.style['top'] = top_0 + 'px';
  }
}

function changeToStaticPositioning(elem){
  elem.style['left'] = '';
  elem.style['top'] = '';
  elem.style['position'] = '';
}

function getClass_52(){
  return Lcom_google_gwt_user_client_ui_AbsolutePanel_2_classLit;
}

function remove_0(w){
  var removed;
  removed = $remove_0(this, w);
  removed && changeToStaticPositioning(w.element);
  return removed;
}

function AbsolutePanel(){
}

_ = AbsolutePanel.prototype = new ComplexPanel;
_.getClass$ = getClass_52;
_.remove = remove_0;
_.typeId$ = 27;
function $clinit_119(){
  $clinit_119 = nullMethod;
  attachCommand = new AttachDetachException$1;
  detachCommand = new AttachDetachException$2;
}

function $AttachDetachException(this$static, causes){
  $clinit_119();
  $Throwable(this$static, 'One or more exceptions caught, see full set in AttachDetachException#getCauses', causes.map.size == 0?null:dynamicCast(causes.toArray(initDim(_3Ljava_lang_Throwable_2_classLit, 113, 21, 0, 0)), 26)[0]);
  return this$static;
}

function getClass_53(){
  return Lcom_google_gwt_user_client_ui_AttachDetachException_2_classLit;
}

function tryCommand(hasWidgets, c){
  var old;
  $clinit_119();
  var $e0, caught, e, w, w$iterator;
  caught = null;
  for (w$iterator = hasWidgets.iterator_0(); w$iterator.hasNext();) {
    w = dynamicCast(w$iterator.next_0(), 14);
    try {
      c.execute_0(w);
    }
     catch ($e0) {
      $e0 = caught_0($e0);
      if (instanceOf($e0, 21)) {
        e = $e0;
        !caught && (caught = $HashSet(new HashSet));
        old = $put(caught.map, e, caught);
      }
       else 
        throw $e0;
    }
  }
  if (caught) {
    throw $AttachDetachException(new AttachDetachException, caught);
  }
}

function AttachDetachException(){
}

_ = AttachDetachException.prototype = new RuntimeException;
_.getClass$ = getClass_53;
_.typeId$ = 28;
var attachCommand, detachCommand;
function execute_2(w){
  w.onAttach();
}

function getClass_54(){
  return Lcom_google_gwt_user_client_ui_AttachDetachException$1_2_classLit;
}

function AttachDetachException$1(){
}

_ = AttachDetachException$1.prototype = new Object_0;
_.execute_0 = execute_2;
_.getClass$ = getClass_54;
_.typeId$ = 0;
function execute_3(w){
  w.onDetach();
}

function getClass_55(){
  return Lcom_google_gwt_user_client_ui_AttachDetachException$2_2_classLit;
}

function AttachDetachException$2(){
}

_ = AttachDetachException$2.prototype = new Object_0;
_.execute_0 = execute_3;
_.getClass$ = getClass_55;
_.typeId$ = 0;
function $CellPanel(this$static){
  this$static.children = $WidgetCollection(new WidgetCollection, this$static);
  this$static.table = ($clinit_26() , $doc).createElement('table');
  this$static.body_0 = $doc.createElement('tbody');
  this$static.table.appendChild(this$static.body_0);
  this$static.element = this$static.table;
  return this$static;
}

function getClass_56(){
  return Lcom_google_gwt_user_client_ui_CellPanel_2_classLit;
}

function CellPanel(){
}

_ = CellPanel.prototype = new ComplexPanel;
_.getClass$ = getClass_56;
_.typeId$ = 29;
_.body_0 = null;
_.table = null;
function $advanceToFind(iter, o){
  var t;
  while (iter.hasNext()) {
    t = iter.next_0();
    if (o == null?t == null:equals__devirtual$(o, t)) {
      return iter;
    }
  }
  return null;
}

function $toString_1(this$static){
  var comma, iter, sb;
  sb = $StringBuffer(new StringBuffer);
  comma = null;
  sb.impl.string += '[';
  iter = this$static.iterator_0();
  while (iter.hasNext()) {
    comma != null?(sb.impl.string += comma , undefined):(comma = ', ');
    $append_0(sb, '' + iter.next_0());
  }
  sb.impl.string += ']';
  return sb.impl.string;
}

function add(o){
  throw $UnsupportedOperationException(new UnsupportedOperationException, 'Add not supported on this collection');
}

function contains(o){
  var iter;
  iter = $advanceToFind(this.iterator_0(), o);
  return !!iter;
}

function getClass_57(){
  return Ljava_util_AbstractCollection_2_classLit;
}

function toArray(a){
  var i, it, result, size;
  size = this.size_0();
  a.length < size && (a = createFrom(a, size));
  result = a;
  it = this.iterator_0();
  for (i = 0; i < size; ++i) {
    setCheck(result, i, it.next_0());
  }
  a.length > size && setCheck(a, size, null);
  return a;
}

function toString_8(){
  return $toString_1(this);
}

function AbstractCollection(){
}

_ = AbstractCollection.prototype = new Object_0;
_.add = add;
_.contains = contains;
_.getClass$ = getClass_57;
_.toArray = toArray;
_.toString$ = toString_8;
_.typeId$ = 0;
function add_0(obj){
  this.add_0(this.size_0(), obj);
  return true;
}

function add_1(index, element){
  throw $UnsupportedOperationException(new UnsupportedOperationException, 'Add not supported on this list');
}

function checkIndex(index, size){
  (index < 0 || index >= size) && indexOutOfBounds(index, size);
}

function equals_1(o){
  var elem, elemOther, iter, iterOther, other;
  if ((o == null?null:o) === this) {
    return true;
  }
  if (!(o != null && canCast(o.typeId$, 36))) {
    return false;
  }
  other = dynamicCast(o, 36);
  if (this.size_0() != other.size_0()) {
    return false;
  }
  iter = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl, this);
  iterOther = other.iterator_0();
  while (iter.i < iter.this$0.size_0()) {
    elem = $next_5(iter);
    elemOther = $next_5(iterOther);
    if (!(elem == null?elemOther == null:equals__devirtual$(elem, elemOther))) {
      return false;
    }
  }
  return true;
}

function getClass_58(){
  return Ljava_util_AbstractList_2_classLit;
}

function hashCode_3(){
  var iter, k, obj;
  k = 1;
  iter = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl, this);
  while (iter.i < iter.this$0.size_0()) {
    obj = $next_5(iter);
    k = 31 * k + (obj == null?0:hashCode__devirtual$(obj));
    k = ~~k;
  }
  return k;
}

function indexOutOfBounds(index, size){
  throw $IndexOutOfBoundsException_0(new IndexOutOfBoundsException, 'Index: ' + index + ', Size: ' + size);
}

function iterator_0(){
  return $AbstractList$IteratorImpl(new AbstractList$IteratorImpl, this);
}

function AbstractList(){
}

_ = AbstractList.prototype = new AbstractCollection;
_.add = add_0;
_.add_0 = add_1;
_.equals$ = equals_1;
_.getClass$ = getClass_58;
_.hashCode$ = hashCode_3;
_.iterator_0 = iterator_0;
_.typeId$ = 30;
function $ArrayList(this$static){
  this$static.array = initDim(_3Ljava_lang_Object_2_classLit, 110, 0, 0, 0);
  return this$static;
}

function $add_1(this$static, o){
  setCheck(this$static.array, this$static.size++, o);
  return true;
}

function $get_1(this$static, index){
  checkIndex(index, this$static.size);
  return this$static.array[index];
}

function $indexOf(this$static, o, index){
  for (; index < this$static.size; ++index) {
    if (equalsWithNullCheck(o, this$static.array[index])) {
      return index;
    }
  }
  return -1;
}

function $remove_1(this$static, index){
  var previous;
  previous = (checkIndex(index, this$static.size) , this$static.array[index]);
  this$static.array.splice(index, 1);
  --this$static.size;
  return previous;
}

function $remove_2(this$static, o){
  var i;
  i = $indexOf(this$static, o, 0);
  if (i == -1) {
    return false;
  }
  $remove_1(this$static, i);
  return true;
}

function $toArray(this$static, out){
  var i, a, result;
  out.length < this$static.size && (out = (a = out , result = createFromSeed(0, this$static.size) , initValues(a.arrayClass$, a.typeId$, a.queryId$, result) , result));
  for (i = 0; i < this$static.size; ++i) {
    setCheck(out, i, this$static.array[i]);
  }
  out.length > this$static.size && setCheck(out, this$static.size, null);
  return out;
}

function add_2(o){
  return setCheck(this.array, this.size++, o) , true;
}

function add_3(index, o){
  (index < 0 || index > this.size) && indexOutOfBounds(index, this.size);
  this.array.splice(index, 0, o);
  ++this.size;
}

function contains_0(o){
  return $indexOf(this, o, 0) != -1;
}

function get_0(index){
  return checkIndex(index, this.size) , this.array[index];
}

function getClass_59(){
  return Ljava_util_ArrayList_2_classLit;
}

function size_0(){
  return this.size;
}

function toArray_0(out){
  return $toArray(this, out);
}

function ArrayList(){
}

_ = ArrayList.prototype = new AbstractList;
_.add = add_2;
_.add_0 = add_3;
_.contains = contains_0;
_.get = get_0;
_.getClass$ = getClass_59;
_.size_0 = size_0;
_.toArray = toArray_0;
_.typeId$ = 31;
_.size = 0;
function $ChangeListenerCollection(this$static){
  this$static.array = initDim(_3Ljava_lang_Object_2_classLit, 110, 0, 0, 0);
  return this$static;
}

function $fireChange(this$static){
  var listener$iterator;
  for (listener$iterator = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl, this$static); listener$iterator.i < listener$iterator.this$0.size_0();) {
    throwClassCastExceptionUnlessNull($next_5(listener$iterator));
    null.nullMethod();
  }
}

function getClass_60(){
  return Lcom_google_gwt_user_client_ui_ChangeListenerCollection_2_classLit;
}

function ChangeListenerCollection(){
}

_ = ChangeListenerCollection.prototype = new ArrayList;
_.getClass$ = getClass_60;
_.typeId$ = 32;
function $initWidget(this$static, widget){
  if (this$static.widget) {
    throw $IllegalStateException_0(new IllegalStateException, 'Composite.initWidget() may only be called once.');
  }
  $removeFromParent(widget);
  $setElement(this$static, widget.element);
  this$static.widget = widget;
  $setParent(widget, this$static);
}

function $isAttached_0(this$static){
  if (this$static.widget) {
    return this$static.widget.isAttached();
  }
  return false;
}

function getClass_61(){
  return Lcom_google_gwt_user_client_ui_Composite_2_classLit;
}

function isAttached_0(){
  return $isAttached_0(this);
}

function onAttach_0(){
  if (this.eventsToSink != -1) {
    $sinkEvents_0(this.widget, this.eventsToSink);
    this.eventsToSink = -1;
  }
  this.widget.onAttach();
  this.element.__listener = this;
  this.onLoad();
}

function onBrowserEvent_0(event_0){
  $onBrowserEvent(this, event_0);
  this.widget.onBrowserEvent(event_0);
}

function onDetach_0(){
  this.widget.onDetach();
}

function Composite(){
}

_ = Composite.prototype = new Widget;
_.getClass$ = getClass_61;
_.isAttached = isAttached_0;
_.onAttach = onAttach_0;
_.onBrowserEvent = onBrowserEvent_0;
_.onDetach = onDetach_0;
_.typeId$ = 33;
_.widget = null;
function $SimplePanel(this$static){
  $SimplePanel_0(this$static, ($clinit_26() , $doc).createElement('div'));
  return this$static;
}

function $SimplePanel_0(this$static, elem){
  this$static.element = elem;
  return this$static;
}

function $add_2(this$static, w){
  if (this$static.widget) {
    throw $IllegalStateException_0(new IllegalStateException, 'SimplePanel can only contain one child widget');
  }
  $setWidget(this$static, w);
}

function $remove_3(this$static, w){
  if (this$static.widget != w) {
    return false;
  }
  try {
    $setParent(w, null);
  }
   finally {
    this$static.getContainerElement().removeChild(w.element);
    this$static.widget = null;
  }
  return true;
}

function $setWidget(this$static, w){
  if (w == this$static.widget) {
    return;
  }
  !!w && $removeFromParent(w);
  !!this$static.widget && $remove_3(this$static, this$static.widget);
  this$static.widget = w;
  if (w) {
    this$static.getContainerElement().appendChild(this$static.widget.element);
    $setParent(w, this$static);
  }
}

function getClass_62(){
  return Lcom_google_gwt_user_client_ui_SimplePanel_2_classLit;
}

function getContainerElement(){
  return this.element;
}

function iterator_1(){
  return $SimplePanel$1(new SimplePanel$1, this);
}

function remove_1(w){
  return $remove_3(this, w);
}

function SimplePanel(){
}

_ = SimplePanel.prototype = new Panel;
_.getClass$ = getClass_62;
_.getContainerElement = getContainerElement;
_.iterator_0 = iterator_1;
_.remove = remove_1;
_.typeId$ = 34;
_.widget = null;
function $clinit_130(){
  $clinit_130 = nullMethod;
  DEFAULT_ROW_STYLENAMES = initValues(_3Ljava_lang_String_2_classLit, 112, 1, ['top', 'middle', 'bottom']);
}

function $DecoratorPanel(this$static){
  $clinit_130();
  $DecoratorPanel_0(this$static, DEFAULT_ROW_STYLENAMES, 1);
  return this$static;
}

function $DecoratorPanel_0(this$static, rowStyles, containerIndex){
  var i, row, table, trElem;
  $clinit_130();
  $SimplePanel_0(this$static, ($clinit_26() , $doc).createElement('table'));
  table = this$static.element;
  this$static.tbody = $doc.createElement('tbody');
  table.appendChild(this$static.tbody);
  table['cellSpacing'] = 0;
  table['cellPadding'] = 0;
  for (i = 0; i < rowStyles.length; ++i) {
    row = (trElem = $doc.createElement('tr') , trElem['className'] = rowStyles[i] , trElem.appendChild(createTD(rowStyles[i] + 'Left')) , trElem.appendChild(createTD(rowStyles[i] + 'Center')) , trElem.appendChild(createTD(rowStyles[i] + 'Right')) , trElem);
    this$static.tbody.appendChild(row);
    i == containerIndex && (this$static.containerElem = $getFirstChildElement($getChild(row, 1)));
  }
  this$static.element['className'] = 'gwt-DecoratorPanel';
  return this$static;
}

function createTD(styleName){
  var inner, tdElem;
  tdElem = ($clinit_26() , $doc).createElement('td');
  inner = $doc.createElement('div');
  tdElem.appendChild(inner);
  tdElem['className'] = styleName;
  inner['className'] = styleName + 'Inner';
  return tdElem;
}

function getClass_63(){
  return Lcom_google_gwt_user_client_ui_DecoratorPanel_2_classLit;
}

function getContainerElement_0(){
  return this.containerElem;
}

function DecoratorPanel(){
}

_ = DecoratorPanel.prototype = new SimplePanel;
_.getClass$ = getClass_63;
_.getContainerElement = getContainerElement_0;
_.typeId$ = 35;
_.containerElem = null;
_.tbody = null;
var DEFAULT_ROW_STYLENAMES;
function $clinit_133(){
  $clinit_133 = nullMethod;
  $HasHorizontalAlignment$HorizontalAlignmentConstant(new HasHorizontalAlignment$HorizontalAlignmentConstant, 'center');
  ALIGN_LEFT = $HasHorizontalAlignment$HorizontalAlignmentConstant(new HasHorizontalAlignment$HorizontalAlignmentConstant, 'left');
  $HasHorizontalAlignment$HorizontalAlignmentConstant(new HasHorizontalAlignment$HorizontalAlignmentConstant, 'right');
  ALIGN_DEFAULT = ALIGN_LEFT;
}

var ALIGN_DEFAULT, ALIGN_LEFT;
function $HasHorizontalAlignment$HorizontalAlignmentConstant(this$static, textAlignString){
  this$static.textAlignString = textAlignString;
  return this$static;
}

function getClass_64(){
  return Lcom_google_gwt_user_client_ui_HasHorizontalAlignment$HorizontalAlignmentConstant_2_classLit;
}

function HasHorizontalAlignment$HorizontalAlignmentConstant(){
}

_ = HasHorizontalAlignment$HorizontalAlignmentConstant.prototype = new Object_0;
_.getClass$ = getClass_64;
_.typeId$ = 0;
_.textAlignString = null;
function $clinit_135(){
  $clinit_135 = nullMethod;
  $HasVerticalAlignment$VerticalAlignmentConstant(new HasVerticalAlignment$VerticalAlignmentConstant, 'bottom');
  $HasVerticalAlignment$VerticalAlignmentConstant(new HasVerticalAlignment$VerticalAlignmentConstant, 'middle');
  ALIGN_TOP = $HasVerticalAlignment$VerticalAlignmentConstant(new HasVerticalAlignment$VerticalAlignmentConstant, 'top');
}

var ALIGN_TOP;
function $HasVerticalAlignment$VerticalAlignmentConstant(this$static, verticalAlignString){
  this$static.verticalAlignString = verticalAlignString;
  return this$static;
}

function getClass_65(){
  return Lcom_google_gwt_user_client_ui_HasVerticalAlignment$VerticalAlignmentConstant_2_classLit;
}

function HasVerticalAlignment$VerticalAlignmentConstant(){
}

_ = HasVerticalAlignment$VerticalAlignmentConstant.prototype = new Object_0;
_.getClass$ = getClass_65;
_.typeId$ = 0;
_.verticalAlignString = null;
function $HorizontalPanel(this$static){
  $CellPanel(this$static);
  $clinit_133();
  $clinit_135();
  this$static.tableRow = ($clinit_26() , $doc).createElement('tr');
  this$static.body_0.appendChild(this$static.tableRow);
  this$static.table['cellSpacing'] = '0';
  this$static.table['cellPadding'] = '0';
  return this$static;
}

function getClass_66(){
  return Lcom_google_gwt_user_client_ui_HorizontalPanel_2_classLit;
}

function remove_2(w){
  var removed, td;
  td = getParent(w.element);
  removed = $remove_0(this, w);
  removed && this.tableRow.removeChild(td);
  return removed;
}

function HorizontalPanel(){
}

_ = HorizontalPanel.prototype = new CellPanel;
_.getClass$ = getClass_66;
_.remove = remove_2;
_.typeId$ = 36;
_.tableRow = null;
function $clinit_139(){
  $clinit_139 = nullMethod;
  $clearImpl(new HashMap);
}

function $Image(this$static){
  $clinit_139();
  $Image$UnclippedState(new Image$UnclippedState, this$static);
  this$static.element['className'] = 'gwt-Image';
  return this$static;
}

function getClass_67(){
  return Lcom_google_gwt_user_client_ui_Image_2_classLit;
}

function Image_0(){
}

_ = Image_0.prototype = new Widget;
_.getClass$ = getClass_67;
_.typeId$ = 37;
function getClass_68(){
  return Lcom_google_gwt_user_client_ui_Image$State_2_classLit;
}

function Image$State(){
}

_ = Image$State.prototype = new Object_0;
_.getClass$ = getClass_68;
_.typeId$ = 0;
function $Image$UnclippedState(this$static, image){
  $replaceElement_0(image, ($clinit_26() , $doc).createElement('img'));
  $sinkEvents(image.element, 32768);
  $sinkEvents_0(image, 229501);
  return this$static;
}

function getClass_69(){
  return Lcom_google_gwt_user_client_ui_Image$UnclippedState_2_classLit;
}

function Image$UnclippedState(){
}

_ = Image$UnclippedState.prototype = new Image$State;
_.getClass$ = getClass_69;
_.typeId$ = 0;
function $clinit_144(){
  $clinit_144 = nullMethod;
  maybeDetachCommand = new RootPanel$1;
  rootPanels = $HashMap(new HashMap);
  widgetsToDetach = $HashSet(new HashSet);
}

function $RootPanel(this$static, elem){
  $clinit_144();
  this$static.children = $WidgetCollection(new WidgetCollection, this$static);
  this$static.element = elem;
  $onAttach(this$static);
  return this$static;
}

function detachNow(widget){
  $clinit_144();
  try {
    widget.onDetach();
  }
   finally {
    $remove_8(widgetsToDetach.map, widget) != null;
  }
}

function detachWidgets(){
  $clinit_144();
  try {
    tryCommand(widgetsToDetach, maybeDetachCommand);
  }
   finally {
    $clearImpl(widgetsToDetach.map);
    $clearImpl(rootPanels);
  }
}

function get_1(id){
  $clinit_144();
  var rp;
  rp = dynamicCast($get_2(rootPanels, id), 27);
  if (rp) {
    return rp;
  }
  rootPanels.size == 0 && addCloseHandler(new RootPanel$2);
  rp = $RootPanel$DefaultRootPanel(new RootPanel$DefaultRootPanel);
  $put(rootPanels, id, rp);
  $add_5(widgetsToDetach, rp);
  return rp;
}

function getClass_70(){
  return Lcom_google_gwt_user_client_ui_RootPanel_2_classLit;
}

function RootPanel(){
}

_ = RootPanel.prototype = new AbsolutePanel;
_.getClass$ = getClass_70;
_.typeId$ = 38;
var maybeDetachCommand, rootPanels, widgetsToDetach;
function execute_4(w){
  w.isAttached() && w.onDetach();
}

function getClass_71(){
  return Lcom_google_gwt_user_client_ui_RootPanel$1_2_classLit;
}

function RootPanel$1(){
}

_ = RootPanel$1.prototype = new Object_0;
_.execute_0 = execute_4;
_.getClass$ = getClass_71;
_.typeId$ = 0;
function getClass_72(){
  return Lcom_google_gwt_user_client_ui_RootPanel$2_2_classLit;
}

function onClose_0(closeEvent){
  detachWidgets();
}

function RootPanel$2(){
}

_ = RootPanel$2.prototype = new Object_0;
_.getClass$ = getClass_72;
_.onClose = onClose_0;
_.typeId$ = 39;
function $clinit_147(){
  $clinit_147 = nullMethod;
  $clinit_144();
}

function $RootPanel$DefaultRootPanel(this$static){
  $clinit_147();
  $RootPanel(this$static, $doc.body);
  return this$static;
}

function getClass_73(){
  return Lcom_google_gwt_user_client_ui_RootPanel$DefaultRootPanel_2_classLit;
}

function RootPanel$DefaultRootPanel(){
}

_ = RootPanel$DefaultRootPanel.prototype = new RootPanel;
_.getClass$ = getClass_73;
_.typeId$ = 40;
function $SimplePanel$1(this$static, this$0){
  this$static.this$0 = this$0;
  this$static.hasElement = !!this$static.this$0.widget;
  return this$static;
}

function $next_0(this$static){
  if (!this$static.hasElement || !this$static.this$0.widget) {
    throw $NoSuchElementException(new NoSuchElementException);
  }
  this$static.hasElement = false;
  return this$static.this$0.widget;
}

function getClass_74(){
  return Lcom_google_gwt_user_client_ui_SimplePanel$1_2_classLit;
}

function hasNext_0(){
  return this.hasElement;
}

function next_1(){
  return $next_0(this);
}

function SimplePanel$1(){
}

_ = SimplePanel$1.prototype = new Object_0;
_.getClass$ = getClass_74;
_.hasNext = hasNext_0;
_.next_0 = next_1;
_.typeId$ = 0;
_.this$0 = null;
function $VerticalPanel(this$static){
  $CellPanel(this$static);
  this$static.horzAlign = ($clinit_133() , ALIGN_DEFAULT);
  this$static.vertAlign = ($clinit_135() , ALIGN_TOP);
  this$static.table['cellSpacing'] = '0';
  this$static.table['cellPadding'] = '0';
  return this$static;
}

function $add_3(this$static, w){
  var td, tr, td_0;
  tr = ($clinit_26() , $doc).createElement('tr');
  td = (td_0 = $doc.createElement('td') , td_0['align'] = this$static.horzAlign.textAlignString , td_0.style['verticalAlign'] = this$static.vertAlign.verticalAlignString , td_0);
  tr.appendChild(td);
  this$static.body_0.appendChild(tr);
  $removeFromParent(w);
  $add_4(this$static.children, w);
  td.appendChild(w.element);
  $setParent(w, this$static);
}

function getClass_75(){
  return Lcom_google_gwt_user_client_ui_VerticalPanel_2_classLit;
}

function remove_3(w){
  var removed, td, parent_1;
  td = getParent(w.element);
  removed = $remove_0(this, w);
  removed && this.body_0.removeChild((parent_1 = ($clinit_26() , td).parentNode , (!parent_1 || parent_1.nodeType != 1) && (parent_1 = null) , parent_1));
  return removed;
}

function VerticalPanel(){
}

_ = VerticalPanel.prototype = new CellPanel;
_.getClass$ = getClass_75;
_.remove = remove_3;
_.typeId$ = 41;
function $WidgetCollection(this$static, parent_0){
  this$static.parent_0 = parent_0;
  this$static.array = initDim(_3Lcom_google_gwt_user_client_ui_Widget_2_classLit, 103, 14, 4, 0);
  return this$static;
}

function $add_4(this$static, w){
  $insert_0(this$static, w, this$static.size);
}

function $indexOf_0(this$static, w){
  var i;
  for (i = 0; i < this$static.size; ++i) {
    if (this$static.array[i] == w) {
      return i;
    }
  }
  return -1;
}

function $insert_0(this$static, w, beforeIndex){
  var i, newArray;
  if (beforeIndex < 0 || beforeIndex > this$static.size) {
    throw $IndexOutOfBoundsException(new IndexOutOfBoundsException);
  }
  if (this$static.size == this$static.array.length) {
    newArray = initDim(_3Lcom_google_gwt_user_client_ui_Widget_2_classLit, 103, 14, this$static.array.length * 2, 0);
    for (i = 0; i < this$static.array.length; ++i) {
      setCheck(newArray, i, this$static.array[i]);
    }
    this$static.array = newArray;
  }
  ++this$static.size;
  for (i = this$static.size - 1; i > beforeIndex; --i) {
    setCheck(this$static.array, i, this$static.array[i - 1]);
  }
  setCheck(this$static.array, beforeIndex, w);
}

function $remove_4(this$static, index){
  var i;
  if (index < 0 || index >= this$static.size) {
    throw $IndexOutOfBoundsException(new IndexOutOfBoundsException);
  }
  --this$static.size;
  for (i = index; i < this$static.size; ++i) {
    setCheck(this$static.array, i, this$static.array[i + 1]);
  }
  setCheck(this$static.array, this$static.size, null);
}

function $remove_5(this$static, w){
  var index;
  index = $indexOf_0(this$static, w);
  if (index == -1) {
    throw $NoSuchElementException(new NoSuchElementException);
  }
  $remove_4(this$static, index);
}

function getClass_76(){
  return Lcom_google_gwt_user_client_ui_WidgetCollection_2_classLit;
}

function iterator_2(){
  return $WidgetCollection$WidgetIterator(new WidgetCollection$WidgetIterator, this);
}

function WidgetCollection(){
}

_ = WidgetCollection.prototype = new Object_0;
_.getClass$ = getClass_76;
_.iterator_0 = iterator_2;
_.typeId$ = 0;
_.array = null;
_.parent_0 = null;
_.size = 0;
function $WidgetCollection$WidgetIterator(this$static, this$0){
  this$static.this$0 = this$0;
  return this$static;
}

function $next_1(this$static){
  if (this$static.index_0 >= this$static.this$0.size) {
    throw $NoSuchElementException(new NoSuchElementException);
  }
  return this$static.this$0.array[++this$static.index_0];
}

function $remove_6(this$static){
  if (this$static.index_0 < 0 || this$static.index_0 >= this$static.this$0.size) {
    throw $IllegalStateException(new IllegalStateException);
  }
  this$static.this$0.parent_0.remove(this$static.this$0.array[this$static.index_0--]);
}

function getClass_77(){
  return Lcom_google_gwt_user_client_ui_WidgetCollection$WidgetIterator_2_classLit;
}

function hasNext_1(){
  return this.index_0 < this.this$0.size - 1;
}

function next_2(){
  return $next_1(this);
}

function WidgetCollection$WidgetIterator(){
}

_ = WidgetCollection$WidgetIterator.prototype = new Object_0;
_.getClass$ = getClass_77;
_.hasNext = hasNext_1;
_.next_0 = next_2;
_.typeId$ = 0;
_.index_0 = -1;
_.this$0 = null;
--></script>
<script><!--
function $CollapsiblePanel(this$static){
  this$static.overlayTimer = $CollapsiblePanel$ShowingAnimation(new CollapsiblePanel$ShowingAnimation, this$static);
  this$static.hidingTimer = $CollapsiblePanel$HidingAnimation(new CollapsiblePanel$HidingAnimation, this$static);
  this$static.delayedShow = $CollapsiblePanel$DelayShow(new CollapsiblePanel$DelayShow, this$static);
  this$static.delayedHide = $CollapsiblePanel$DelayHide(new CollapsiblePanel$DelayHide, this$static);
  this$static.changeListeners = $ChangeListenerCollection(new ChangeListenerCollection);
  this$static.master = $CollapsiblePanel$1(new CollapsiblePanel$1, this$static);
  this$static.master.element.style['overflow'] = 'visible';
  $initWidget(this$static, this$static.master);
  this$static.element['className'] = 'gwt-CollapsiblePanel';
  this$static.hoverBar = $CollapsiblePanel$2(new CollapsiblePanel$2, this$static);
  this$static.hoverBar.element['className'] = 'hover-bar';
  $add_0(this$static.master, this$static.hoverBar, 0, 0);
  this$static.container = $SimplePanel(new SimplePanel);
  this$static.container.element['className'] = 'container';
  $add_0(this$static.master, this$static.container, 0, 0);
  $setState(this$static, ($clinit_164() , EXPANDED));
  return this$static;
}

function $adjustmentsForCollapsedState(this$static){
  var aboutHalf, hoverBarWidth, newWidth;
  hoverBarWidth = parseInt(this$static.hoverBar.element['offsetWidth']) || 0;
  aboutHalf = ~~(hoverBarWidth / 2) + 1;
  newWidth = this$static.width + aboutHalf;
  this$static.maxOffshift = newWidth;
  this$static.master.element.style['width'] = hoverBarWidth + 'px';
  this$static.currentOffshift = this$static.width;
}

function $becomeCollapsed(this$static){
  $cancelAllTimers(this$static);
  if ($isAttached_0(this$static)) {
    $adjustmentsForCollapsedState(this$static);
    $hiding(this$static);
  }
   else {
    this$static.state = ($clinit_164() , IS_HIDDEN);
  }
}

function $becomeExpanded(this$static){
  $cancelAllTimers(this$static);
  if ($isAttached_0(this$static)) {
    this$static.master.element.style['width'] = this$static.width + 'px';
    this$static.container.element.style['left'] = '0px';
  }
  $setState(this$static, ($clinit_164() , EXPANDED));
}

function $cancelAllTimers(this$static){
  $cancel_0(this$static.delayedHide);
  $cancel_0(this$static.delayedShow);
  $cancel(this$static.overlayTimer);
  $cancel(this$static.hidingTimer);
}

function $hide(this$static){
  this$static.state != ($clinit_164() , EXPANDED) && $isAttached_0(this$static) && $hiding(this$static);
}

function $hiding(this$static){
  $cancelAllTimers(this$static);
  $setState(this$static, ($clinit_164() , HIDING));
  this$static.startFrom = this$static.currentOffshift;
  $run(this$static.hidingTimer, 150, (new Date).getTime());
}

function $initContents(this$static, contents){
  if (this$static.contents) {
    throw $IllegalStateException_0(new IllegalStateException, 'Contents have already be set');
  }
  this$static.contents = contents;
  $add_2(this$static.container, contents);
  $isAttached_0(this$static) && $refreshWidth(this$static);
}

function $refreshWidth(this$static){
  this$static.width = parseInt(this$static.container.element['offsetWidth']) || 0;
  if (this$static.width == 0) {
    throw $IllegalStateException_0(new IllegalStateException, 'The underlying content width cannot be 0. Please ensure that the .container css style has a fixed width');
  }
  if (this$static.state == ($clinit_164() , EXPANDED)) {
    this$static.master.element.style['width'] = this$static.width + 'px';
    this$static.container.element.style['left'] = '0px';
  }
   else {
    $cancelAllTimers(this$static);
    $adjustmentsForCollapsedState(this$static);
    this$static.currentOffshift = 0;
    this$static.container.element.style['left'] = -this$static.width + 'px';
    this$static.state = IS_HIDDEN;
  }
}

function $setCollapsedState(this$static, collapsed, fireEvents){
  if (this$static.state != ($clinit_164() , EXPANDED) == collapsed) {
    return;
  }
  collapsed?$becomeCollapsed(this$static):$becomeExpanded(this$static);
  fireEvents && $fireChange(this$static.changeListeners);
}

function $setPanelPos(this$static, pos){
  this$static.currentOffshift = pos;
  this$static.container.element.style['left'] = pos - this$static.width + 'px';
}

function $setState(this$static, state){
  checkTo(this$static.state, state);
  this$static.state = state;
}

function $show(this$static){
  if (this$static.state != ($clinit_164() , EXPANDED) && $isAttached_0(this$static)) {
    $cancelAllTimers(this$static);
    $setState(this$static, SHOWING);
    this$static.startFrom = this$static.currentOffshift;
    $run(this$static.overlayTimer, 150, (new Date).getTime());
  }
}

function getClass_78(){
  return Lcom_google_gwt_widgetideas_client_CollapsiblePanel_2_classLit;
}

function iterator_3(){
  return $WidgetIterators$1(new WidgetIterators$1, initValues(_3Lcom_google_gwt_user_client_ui_Widget_2_classLit, 103, 14, [this.contents]));
}

function onLoad_1(){
  !!this.contents && $refreshWidth(this);
}

function remove_4(w){
  return false;
}

function CollapsiblePanel(){
}

_ = CollapsiblePanel.prototype = new Composite;
_.getClass$ = getClass_78;
_.iterator_0 = iterator_3;
_.onLoad = onLoad_1;
_.remove = remove_4;
_.typeId$ = 42;
_.container = null;
_.contents = null;
_.currentOffshift = 0;
_.hoverBar = null;
_.master = null;
_.maxOffshift = 0;
_.startFrom = 0;
_.state = null;
_.width = 0;
function $CollapsiblePanel$1(this$static, this$0){
  this$static.this$0 = this$0;
  $AbsolutePanel_0(this$static, ($clinit_26() , $doc).createElement('div'));
  this$static.element.style['position'] = 'relative';
  this$static.element.style['overflow'] = 'hidden';
  $sinkEvents_0(this$static, 48);
  return this$static;
}

function getClass_79(){
  return Lcom_google_gwt_widgetideas_client_CollapsiblePanel$1_2_classLit;
}

function onBrowserEvent_1(event_0){
  var to;
  if (!this.this$0.contents) {
    return;
  }
  if (!null.nullMethod()) {
    switch ($eventGetTypeInt(($clinit_26() , event_0).type)) {
      case 32:
        to = $eventGetToElement(event_0);
        if (!to && this.this$0.state == ($clinit_164() , SHOWING)) {
          return;
        }

        if (!!to && $isOrHasChild(this.this$0.master.element, to)) {
          break;
        }

        switch (this.this$0.state.ordinal) {
          case 3:
            $setState(this.this$0, ($clinit_164() , IS_HIDDEN));
            $cancel_0(this.this$0.delayedShow);
            break;
          case 4:
            $hide(this.this$0);
            break;
          case 5:
            $activate(this.this$0.delayedHide);
        }

        break;
      case 16:
        if (this.this$0.state == ($clinit_164() , WILL_HIDE)) {
          $setState(this.this$0, IS_SHOWN);
          $cancel_0(this.this$0.delayedHide);
        }

    }
    $onBrowserEvent(this, event_0);
  }
}

function CollapsiblePanel$1(){
}

_ = CollapsiblePanel$1.prototype = new AbsolutePanel;
_.getClass$ = getClass_79;
_.onBrowserEvent = onBrowserEvent_1;
_.typeId$ = 43;
_.this$0 = null;
function $CollapsiblePanel$2(this$static, this$0){
  this$static.this$0 = this$0;
  $SimplePanel_0(this$static, ($clinit_26() , $doc).createElement('div'));
  $sinkEvents_0(this$static, 20);
  return this$static;
}

function getClass_80(){
  return Lcom_google_gwt_widgetideas_client_CollapsiblePanel$2_2_classLit;
}

function onBrowserEvent_2(event_0){
  if (!this.this$0.contents) {
    return;
  }
  if (!null.nullMethod()) {
    switch ($eventGetTypeInt(($clinit_26() , event_0).type)) {
      case 16:
        switch (this.this$0.state.ordinal) {
          case 1:
            $show(this.this$0);
            break;
          case 2:
            $activate_0(this.this$0.delayedShow);
        }

        break;
      case 4:
        $setCollapsedState(this.this$0, false, true);
    }
  }
}

function CollapsiblePanel$2(){
}

_ = CollapsiblePanel$2.prototype = new SimplePanel;
_.getClass$ = getClass_80;
_.onBrowserEvent = onBrowserEvent_2;
_.typeId$ = 44;
_.this$0 = null;
function $clinit_159(){
  $clinit_159 = nullMethod;
  $clinit_1();
}

function $CollapsiblePanel$DelayHide(this$static, this$0){
  $clinit_159();
  this$static.this$0 = this$0;
  return this$static;
}

function $activate(this$static){
  $setState(this$static.this$0, ($clinit_164() , WILL_HIDE));
  $schedule(this$static.this$0.delayedHide, 200);
}

function getClass_81(){
  return Lcom_google_gwt_widgetideas_client_CollapsiblePanel$DelayHide_2_classLit;
}

function run_3(){
  $hide(this.this$0);
}

function CollapsiblePanel$DelayHide(){
}

_ = CollapsiblePanel$DelayHide.prototype = new Timer;
_.getClass$ = getClass_81;
_.run = run_3;
_.typeId$ = 45;
_.this$0 = null;
function $clinit_160(){
  $clinit_160 = nullMethod;
  $clinit_1();
}

function $CollapsiblePanel$DelayShow(this$static, this$0){
  $clinit_160();
  this$static.this$0 = this$0;
  return this$static;
}

function $activate_0(this$static){
  $setState(this$static.this$0, ($clinit_164() , WILL_SHOW));
  $schedule(this$static.this$0.delayedShow, 300);
}

function getClass_82(){
  return Lcom_google_gwt_widgetideas_client_CollapsiblePanel$DelayShow_2_classLit;
}

function run_4(){
  $show(this.this$0);
}

function CollapsiblePanel$DelayShow(){
}

_ = CollapsiblePanel$DelayShow.prototype = new Timer;
_.getClass$ = getClass_82;
_.run = run_4;
_.typeId$ = 46;
_.this$0 = null;
function $CollapsiblePanel$HidingAnimation(this$static, this$0){
  this$static.this$0 = this$0;
  return this$static;
}

function getClass_83(){
  return Lcom_google_gwt_widgetideas_client_CollapsiblePanel$HidingAnimation_2_classLit;
}

function onCancel_0(){
}

function onComplete_0(){
  $setPanelPos(this.this$0, 0);
  $setState(this.this$0, ($clinit_164() , IS_HIDDEN));
}

function onStart_0(){
}

function onUpdate(progress){
  var slide;
  slide = ~~Math.max(Math.min(this.this$0.startFrom - progress * this.this$0.startFrom, 2147483647), -2147483648);
  $setPanelPos(this.this$0, slide);
}

function CollapsiblePanel$HidingAnimation(){
}

_ = CollapsiblePanel$HidingAnimation.prototype = new Animation;
_.getClass$ = getClass_83;
_.onCancel = onCancel_0;
_.onComplete = onComplete_0;
_.onStart = onStart_0;
_.onUpdate = onUpdate;
_.typeId$ = 47;
_.this$0 = null;
function $CollapsiblePanel$ShowingAnimation(this$static, this$0){
  this$static.this$0 = this$0;
  return this$static;
}

function getClass_84(){
  return Lcom_google_gwt_widgetideas_client_CollapsiblePanel$ShowingAnimation_2_classLit;
}

function onCancel_1(){
}

function onComplete_1(){
  $setPanelPos(this.this$0, this.this$0.maxOffshift);
  $setState(this.this$0, ($clinit_164() , IS_SHOWN));
}

function onStart_1(){
}

function onUpdate_0(progress){
  var pos;
  pos = ~~Math.max(Math.min((this.this$0.maxOffshift - this.this$0.startFrom) * progress, 2147483647), -2147483648);
  $setPanelPos(this.this$0, pos + this.this$0.startFrom);
}

function CollapsiblePanel$ShowingAnimation(){
}

_ = CollapsiblePanel$ShowingAnimation.prototype = new Animation;
_.getClass$ = getClass_84;
_.onCancel = onCancel_1;
_.onComplete = onComplete_1;
_.onStart = onStart_1;
_.onUpdate = onUpdate_0;
_.typeId$ = 48;
_.this$0 = null;
function equals_2(other){
  return this === (other == null?null:other);
}

function getClass_85(){
  return Ljava_lang_Enum_2_classLit;
}

function hashCode_4(){
  return this.$H || (this.$H = ++sNextHashId);
}

function toString_9(){
  return this.name_0;
}

function Enum(){
}

_ = Enum.prototype = new Object_0;
_.equals$ = equals_2;
_.getClass$ = getClass_85;
_.hashCode$ = hashCode_4;
_.toString$ = toString_9;
_.typeId$ = 49;
_.name_0 = null;
_.ordinal = 0;
function $clinit_164(){
  $clinit_164 = nullMethod;
  WILL_HIDE = $CollapsiblePanel$State(new CollapsiblePanel$State, 'WILL_HIDE', 0);
  HIDING = $CollapsiblePanel$State(new CollapsiblePanel$State, 'HIDING', 1);
  IS_HIDDEN = $CollapsiblePanel$State(new CollapsiblePanel$State, 'IS_HIDDEN', 2);
  WILL_SHOW = $CollapsiblePanel$State(new CollapsiblePanel$State, 'WILL_SHOW', 3);
  SHOWING = $CollapsiblePanel$State(new CollapsiblePanel$State, 'SHOWING', 4);
  IS_SHOWN = $CollapsiblePanel$State(new CollapsiblePanel$State, 'IS_SHOWN', 5);
  EXPANDED = $CollapsiblePanel$State(new CollapsiblePanel$State, 'EXPANDED', 6);
}

function $CollapsiblePanel$State(this$static, enum$name, enum$ordinal){
  $clinit_164();
  this$static.name_0 = enum$name;
  this$static.ordinal = enum$ordinal;
  return this$static;
}

function check(from, to){
  if (to == EXPANDED || !from) {
    return true;
  }
  switch (from.ordinal) {
    case 0:
      return to == IS_SHOWN || to == HIDING;
    case 1:
      return to == IS_HIDDEN || to == SHOWING;
    case 2:
      return to == WILL_SHOW;
    case 3:
      return to == SHOWING || to == IS_HIDDEN;
    case 4:
      return to == IS_SHOWN || to == HIDING;
    case 5:
      return to == WILL_HIDE;
    case 6:
      return to == HIDING;
    default:throw $IllegalStateException_0(new IllegalStateException, 'Unknown state');
  }
}

function checkTo(from, to){
  $clinit_164();
  var valid;
  valid = check(from, to);
  if (!valid) {
    throw $IllegalStateException_0(new IllegalStateException, from + ' -> ' + to + ' is an illegal state transition');
  }
}

function getClass_86(){
  return Lcom_google_gwt_widgetideas_client_CollapsiblePanel$State_2_classLit;
}

function values_0(){
  $clinit_164();
  return initValues(_3Lcom_google_gwt_widgetideas_client_CollapsiblePanel$State_2_classLit, 104, 15, [WILL_HIDE, HIDING, IS_HIDDEN, WILL_SHOW, SHOWING, IS_SHOWN, EXPANDED]);
}

function CollapsiblePanel$State(){
}

_ = CollapsiblePanel$State.prototype = new Enum;
_.getClass$ = getClass_86;
_.typeId$ = 50;
var EXPANDED, HIDING, IS_HIDDEN, IS_SHOWN, SHOWING, WILL_HIDE, WILL_SHOW;
function $WidgetIterators$1(this$static, val$contained){
  this$static.val$contained = val$contained;
  $gotoNextIndex(this$static);
  return this$static;
}

function $gotoNextIndex(this$static){
  ++this$static.index_0;
  while (this$static.index_0 < this$static.val$contained.length) {
    if (this$static.val$contained[this$static.index_0]) {
      return;
    }
    ++this$static.index_0;
  }
}

function $next_3(this$static){
  var w;
  if (this$static.index_0 >= this$static.val$contained.length) {
    throw $NoSuchElementException(new NoSuchElementException);
  }
  w = this$static.val$contained[this$static.index_0];
  $gotoNextIndex(this$static);
  return w;
}

function getClass_87(){
  return Lcom_google_gwt_widgetideas_client_overrides_WidgetIterators$1_2_classLit;
}

function hasNext_2(){
  return this.index_0 < this.val$contained.length;
}

function next_3(){
  return $next_3(this);
}

function WidgetIterators$1(){
}

_ = WidgetIterators$1.prototype = new Object_0;
_.getClass$ = getClass_87;
_.hasNext = hasNext_2;
_.next_0 = next_3;
_.typeId$ = 0;
_.index_0 = -1;
_.val$contained = null;
function getClass_88(){
  return Lcom_google_gwt_xml_client_DOMException_2_classLit;
}

function DOMException(){
}

_ = DOMException.prototype = new RuntimeException;
_.getClass$ = getClass_88;
_.typeId$ = 51;
function $clinit_179(){
  $clinit_179 = nullMethod;
  impl_0 = ($clinit_194() , $clinit_194() , impl_1);
}

var impl_0;
function equals_3(o){
  if (o != null && canCast(o.typeId$, 29)) {
    return this.jsObject == dynamicCast(o, 29).jsObject;
  }
  return false;
}

function getClass_89(){
  return Lcom_google_gwt_xml_client_impl_DOMItem_2_classLit;
}

function getJsObject(){
  return this.jsObject;
}

function hashCode_5(){
  return getHashCode(this.jsObject);
}

function DOMItem(){
}

_ = DOMItem.prototype = new Object_0;
_.equals$ = equals_3;
_.getClass$ = getClass_89;
_.getJsObject = getJsObject;
_.hashCode$ = hashCode_5;
_.typeId$ = 52;
_.jsObject = null;
function $NodeImpl(this$static, jso){
  this$static.jsObject = jso;
  return this$static;
}

function build(node){
  var nodeType, out;
  if (!node) {
    return null;
  }
  nodeType = ($clinit_194() , out = node.nodeType , out == null?-1:out);
  switch (nodeType) {
    case 2:
      return $AttrImpl(new AttrImpl, node);
    case 4:
      return $CDATASectionImpl(new CDATASectionImpl, node);
    case 8:
      return $CommentImpl(new CommentImpl, node);
    case 11:
      return $DocumentFragmentImpl(new DocumentFragmentImpl, node);
    case 9:
      return $DocumentImpl(new DocumentImpl, node);
    case 1:
      return $ElementImpl(new ElementImpl, node);
    case 7:
      return $ProcessingInstructionImpl(new ProcessingInstructionImpl, node);
    case 3:
      return $TextImpl(new TextImpl, node);
    default:return $NodeImpl(new NodeImpl, node);
  }
}

function getClass_90(){
  return Lcom_google_gwt_xml_client_impl_NodeImpl_2_classLit;
}

function toString_10(){
  var jsNode;
  return $clinit_194() , jsNode = this.getJsObject() , (new XMLSerializer).serializeToString(jsNode);
}

function NodeImpl(){
}

_ = NodeImpl.prototype = new DOMItem;
_.getClass$ = getClass_90;
_.toString$ = toString_10;
_.typeId$ = 53;
function $AttrImpl(this$static, o){
  this$static.jsObject = o;
  return this$static;
}

function getClass_91(){
  return Lcom_google_gwt_xml_client_impl_AttrImpl_2_classLit;
}

function AttrImpl(){
}

_ = AttrImpl.prototype = new NodeImpl;
_.getClass$ = getClass_91;
_.typeId$ = 54;
function getClass_92(){
  return Lcom_google_gwt_xml_client_impl_CharacterDataImpl_2_classLit;
}

function CharacterDataImpl(){
}

_ = CharacterDataImpl.prototype = new NodeImpl;
_.getClass$ = getClass_92;
_.typeId$ = 55;
function $TextImpl(this$static, o){
  this$static.jsObject = o;
  return this$static;
}

function getClass_93(){
  return Lcom_google_gwt_xml_client_impl_TextImpl_2_classLit;
}

function toString_11(){
  var b, i, x;
  b = $StringBuffer(new StringBuffer);
  x = $split(($clinit_194() , this.jsObject.data), '(?=[;&<>\'"])', -1);
  for (i = 0; i < x.length; ++i) {
    if (x[i].indexOf(';') == 0) {
      b.impl.string += '&semi;';
      $append_0(b, x[i].substr(1, x[i].length - 1));
    }
     else if (x[i].indexOf('&') == 0) {
      b.impl.string += '&amp;';
      $append_0(b, x[i].substr(1, x[i].length - 1));
    }
     else if (x[i].indexOf('"') == 0) {
      b.impl.string += '&quot;';
      $append_0(b, x[i].substr(1, x[i].length - 1));
    }
     else if (x[i].indexOf("'") == 0) {
      b.impl.string += '&apos;';
      $append_0(b, x[i].substr(1, x[i].length - 1));
    }
     else if (x[i].indexOf('<') == 0) {
      b.impl.string += '&lt;';
      $append_0(b, x[i].substr(1, x[i].length - 1));
    }
     else if (x[i].indexOf('>') == 0) {
      b.impl.string += '&gt;';
      $append_0(b, x[i].substr(1, x[i].length - 1));
    }
     else {
      b.impl.string += x[i];
    }
  }
  return b.impl.string;
}

function TextImpl(){
}

_ = TextImpl.prototype = new CharacterDataImpl;
_.getClass$ = getClass_93;
_.toString$ = toString_11;
_.typeId$ = 56;
function $CDATASectionImpl(this$static, o){
  this$static.jsObject = o;
  return this$static;
}

function getClass_94(){
  return Lcom_google_gwt_xml_client_impl_CDATASectionImpl_2_classLit;
}

function toString_12(){
  var b;
  b = $StringBuffer_0(new StringBuffer, '<![CDATA[');
  $append_0(b, ($clinit_194() , this.jsObject.data));
  b.impl.string += ']]>';
  return b.impl.string;
}

function CDATASectionImpl(){
}

_ = CDATASectionImpl.prototype = new TextImpl;
_.getClass$ = getClass_94;
_.toString$ = toString_12;
_.typeId$ = 57;
function $CommentImpl(this$static, o){
  this$static.jsObject = o;
  return this$static;
}

function getClass_95(){
  return Lcom_google_gwt_xml_client_impl_CommentImpl_2_classLit;
}

function toString_13(){
  var b;
  b = $StringBuffer_0(new StringBuffer, '<!--');
  $append_0(b, ($clinit_194() , this.jsObject.data));
  b.impl.string += '-->';
  return b.impl.string;
}

function CommentImpl(){
}

_ = CommentImpl.prototype = new CharacterDataImpl;
_.getClass$ = getClass_95;
_.toString$ = toString_13;
_.typeId$ = 58;
function $DOMParseException(this$static, contents, e){
  $Exception(this$static, 'Failed to parse: ' + contents.substr(0, min_0(contents.length, 128) - 0));
  $initCause(this$static, e);
  return this$static;
}

function getClass_96(){
  return Lcom_google_gwt_xml_client_impl_DOMParseException_2_classLit;
}

function DOMParseException(){
}

_ = DOMParseException.prototype = new DOMException;
_.getClass$ = getClass_96;
_.typeId$ = 59;
function $DocumentFragmentImpl(this$static, o){
  this$static.jsObject = o;
  return this$static;
}

function getClass_97(){
  return Lcom_google_gwt_xml_client_impl_DocumentFragmentImpl_2_classLit;
}

function DocumentFragmentImpl(){
}

_ = DocumentFragmentImpl.prototype = new NodeImpl;
_.getClass$ = getClass_97;
_.typeId$ = 60;
function $DocumentImpl(this$static, o){
  this$static.jsObject = o;
  return this$static;
}

function getClass_98(){
  return Lcom_google_gwt_xml_client_impl_DocumentImpl_2_classLit;
}

function DocumentImpl(){
}

_ = DocumentImpl.prototype = new NodeImpl;
_.getClass$ = getClass_98;
_.typeId$ = 61;
function $ElementImpl(this$static, o){
  this$static.jsObject = o;
  return this$static;
}

function getClass_99(){
  return Lcom_google_gwt_xml_client_impl_ElementImpl_2_classLit;
}

function ElementImpl(){
}

_ = ElementImpl.prototype = new NodeImpl;
_.getClass$ = getClass_99;
_.typeId$ = 62;
function $NodeListImpl(this$static, o){
  this$static.jsObject = o;
  return this$static;
}

function getClass_100(){
  return Lcom_google_gwt_xml_client_impl_NodeListImpl_2_classLit;
}

function getLength(){
  return $clinit_194() , this.jsObject.length;
}

function item(index){
  return build(item_1(this.jsObject, index));
}

function toString_14(){
  var b, i;
  b = $StringBuffer(new StringBuffer);
  for (i = 0; i < this.getLength(); ++i) {
    $append_0(b, this.item_0(i).toString$());
  }
  return b.impl.string;
}

function NodeListImpl(){
}

_ = NodeListImpl.prototype = new DOMItem;
_.getClass$ = getClass_100;
_.getLength = getLength;
_.item_0 = item;
_.toString$ = toString_14;
_.typeId$ = 63;
function $NamedNodeMapImpl(this$static, o){
  this$static.jsObject = o;
  return this$static;
}

function $getNamedItem(this$static, name_0){
  return build(($clinit_194() , this$static.jsObject.getNamedItem(name_0)));
}

function getClass_101(){
  return Lcom_google_gwt_xml_client_impl_NamedNodeMapImpl_2_classLit;
}

function getLength_0(){
  return $clinit_194() , this.jsObject.length;
}

function item_0(index){
  return build(item_1(this.jsObject, index));
}

function NamedNodeMapImpl(){
}

_ = NamedNodeMapImpl.prototype = new NodeListImpl;
_.getClass$ = getClass_101;
_.getLength = getLength_0;
_.item_0 = item_0;
_.typeId$ = 64;
function $ProcessingInstructionImpl(this$static, o){
  this$static.jsObject = o;
  return this$static;
}

function getClass_102(){
  return Lcom_google_gwt_xml_client_impl_ProcessingInstructionImpl_2_classLit;
}

function toString_15(){
  var jsNode;
  return $clinit_194() , jsNode = this.getJsObject() , (new XMLSerializer).serializeToString(jsNode);
}

function ProcessingInstructionImpl(){
}

_ = ProcessingInstructionImpl.prototype = new NodeImpl;
_.getClass$ = getClass_102;
_.toString$ = toString_15;
_.typeId$ = 65;
function $clinit_194(){
  $clinit_194 = nullMethod;
  impl_1 = $XMLParserImplStandard(new XMLParserImplStandard);
}

function $parse(this$static, contents){
  var $e0, e;
  try {
    return dynamicCast(build($parseImpl(this$static, contents)), 30);
  }
   catch ($e0) {
    $e0 = caught_0($e0);
    if (instanceOf($e0, 31)) {
      e = $e0;
      throw $DOMParseException(new DOMParseException, contents, e);
    }
     else 
      throw $e0;
  }
}

function getChildNodes(t){
  $clinit_194();
  return t.childNodes;
}

function getClass_103(){
  return Lcom_google_gwt_xml_client_impl_XMLParserImpl_2_classLit;
}

function item_1(t, index){
  $clinit_194();
  if (index >= t.length) {
    return null;
  }
  return t.item(index);
}

function XMLParserImpl(){
}

_ = XMLParserImpl.prototype = new Object_0;
_.getClass$ = getClass_103;
_.typeId$ = 0;
var impl_1;
function $clinit_195(){
  $clinit_195 = nullMethod;
  $clinit_194();
}

function $XMLParserImplStandard(this$static){
  $clinit_195();
  this$static.domParser = new DOMParser;
  return this$static;
}

function $parseImpl(this$static, contents){
  var domParser = this$static.domParser;
  var result = domParser.parseFromString(contents, 'text/xml');
  var roottag = result.documentElement;
  if (roottag.tagName == 'parsererror' && roottag.namespaceURI == 'http://www.mozilla.org/newlayout/xml/parsererror.xml') {
    throw new Error(roottag.firstChild.data);
  }
  return result;
}

function getClass_104(){
  return Lcom_google_gwt_xml_client_impl_XMLParserImplStandard_2_classLit;
}

function XMLParserImplStandard(){
}

_ = XMLParserImplStandard.prototype = new XMLParserImpl;
_.getClass$ = getClass_104;
_.typeId$ = 0;
function $ArrayStoreException(this$static){
  $fillInStackTrace();
  return this$static;
}

function getClass_105(){
  return Ljava_lang_ArrayStoreException_2_classLit;
}

function ArrayStoreException(){
}

_ = ArrayStoreException.prototype = new RuntimeException;
_.getClass$ = getClass_105;
_.typeId$ = 67;
function $clinit_199(){
  $clinit_199 = nullMethod;
  $Boolean(new Boolean_0, false);
  $Boolean(new Boolean_0, true);
}

function $Boolean(this$static, value){
  $clinit_199();
  this$static.value = value;
  return this$static;
}

function equals_4(o){
  return o != null && canCast(o.typeId$, 32) && dynamicCast(o, 32).value == this.value;
}

function getClass_106(){
  return Ljava_lang_Boolean_2_classLit;
}

function hashCode_6(){
  return this.value?1231:1237;
}

function toString_16(){
  return this.value?'true':'false';
}

function Boolean_0(){
}

_ = Boolean_0.prototype = new Object_0;
_.equals$ = equals_4;
_.getClass$ = getClass_106;
_.hashCode$ = hashCode_6;
_.toString$ = toString_16;
_.typeId$ = 70;
_.value = false;
function createForArray(packageName, className){
  var clazz;
  clazz = new Class;
  clazz.typeName = packageName + className;
  clazz.modifiers = 4;
  return clazz;
}

function createForClass(packageName, className){
  var clazz;
  clazz = new Class;
  clazz.typeName = packageName + className;
  return clazz;
}

function createForEnum(packageName, className, enumConstantsFunc){
  var clazz;
  clazz = new Class;
  clazz.typeName = packageName + className;
  clazz.modifiers = enumConstantsFunc?8:0;
  return clazz;
}

function getClass_107(){
  return Ljava_lang_Class_2_classLit;
}

function toString_17(){
  return ((this.modifiers & 2) != 0?'interface ':(this.modifiers & 1) != 0?'':'class ') + this.typeName;
}

function Class(){
}

_ = Class.prototype = new Object_0;
_.getClass$ = getClass_107;
_.toString$ = toString_17;
_.typeId$ = 0;
_.modifiers = 0;
_.typeName = null;
function $ClassCastException(this$static){
  $fillInStackTrace();
  return this$static;
}

function getClass_108(){
  return Ljava_lang_ClassCastException_2_classLit;
}

function ClassCastException(){
}

_ = ClassCastException.prototype = new RuntimeException;
_.getClass$ = getClass_108;
_.typeId$ = 71;
function getClass_109(){
  return Ljava_lang_Number_2_classLit;
}

function Number_0(){
}

_ = Number_0.prototype = new Object_0;
_.getClass$ = getClass_109;
_.typeId$ = 72;
function $Double(this$static, value){
  this$static.value = value;
  return this$static;
}

function equals_5(o){
  return o != null && canCast(o.typeId$, 33) && dynamicCast(o, 33).value == this.value;
}

function getClass_110(){
  return Ljava_lang_Double_2_classLit;
}

function hashCode_7(){
  return ~~Math.max(Math.min(this.value, 2147483647), -2147483648);
}

function toString_18(){
  return '' + this.value;
}

function Double(){
}

_ = Double.prototype = new Number_0;
_.equals$ = equals_5;
_.getClass$ = getClass_110;
_.hashCode$ = hashCode_7;
_.toString$ = toString_18;
_.typeId$ = 73;
_.value = 0;
function $IllegalArgumentException(this$static, message){
  $fillInStackTrace();
  this$static.detailMessage = message;
  return this$static;
}

function getClass_111(){
  return Ljava_lang_IllegalArgumentException_2_classLit;
}

function IllegalArgumentException(){
}

_ = IllegalArgumentException.prototype = new RuntimeException;
_.getClass$ = getClass_111;
_.typeId$ = 74;
function $IllegalStateException(this$static){
  $fillInStackTrace();
  return this$static;
}

function $IllegalStateException_0(this$static, s){
  $fillInStackTrace();
  this$static.detailMessage = s;
  return this$static;
}

function getClass_112(){
  return Ljava_lang_IllegalStateException_2_classLit;
}

function IllegalStateException(){
}

_ = IllegalStateException.prototype = new RuntimeException;
_.getClass$ = getClass_112;
_.typeId$ = 75;
function $IndexOutOfBoundsException(this$static){
  $fillInStackTrace();
  return this$static;
}

function $IndexOutOfBoundsException_0(this$static, message){
  $fillInStackTrace();
  this$static.detailMessage = message;
  return this$static;
}

function getClass_113(){
  return Ljava_lang_IndexOutOfBoundsException_2_classLit;
}

function IndexOutOfBoundsException(){
}

_ = IndexOutOfBoundsException.prototype = new RuntimeException;
_.getClass$ = getClass_113;
_.typeId$ = 76;
function $Integer(this$static, value){
  this$static.value = value;
  return this$static;
}

function equals_6(o){
  return o != null && canCast(o.typeId$, 34) && dynamicCast(o, 34).value == this.value;
}

function getClass_114(){
  return Ljava_lang_Integer_2_classLit;
}

function hashCode_8(){
  return this.value;
}

--></script>
<script><!--
function toPowerOfTwoString(value, shift){
  var bitMask, buf, bufSize, digits, pos;
  bufSize = ~~(32 / shift);
  bitMask = (1 << shift) - 1;
  buf = initDim(_3C_classLit, 98, -1, bufSize, 1);
  digits = ($clinit_214() , digits_0);
  pos = bufSize - 1;
  if (value >= 0) {
    while (value > bitMask) {
      buf[pos--] = digits[value & bitMask];
      value >>= shift;
    }
  }
   else {
    while (pos > 0) {
      buf[pos--] = digits[value & bitMask];
      value >>= shift;
    }
  }
  buf[pos] = digits[value & bitMask];
  return __valueOf(buf, pos, bufSize);
}

function toString_19(){
  return '' + this.value;
}

function Integer(){
}

_ = Integer.prototype = new Number_0;
_.equals$ = equals_6;
_.getClass$ = getClass_114;
_.hashCode$ = hashCode_8;
_.toString$ = toString_19;
_.typeId$ = 77;
_.value = 0;
function min_0(x, y){
  return x < y?x:y;
}

function $NullPointerException(this$static){
  $fillInStackTrace();
  return this$static;
}

function $NullPointerException_0(this$static, message){
  $fillInStackTrace();
  this$static.detailMessage = message;
  return this$static;
}

function getClass_115(){
  return Ljava_lang_NullPointerException_2_classLit;
}

function NullPointerException(){
}

_ = NullPointerException.prototype = new RuntimeException;
_.getClass$ = getClass_115;
_.typeId$ = 78;
function $clinit_214(){
  $clinit_214 = nullMethod;
  digits_0 = initValues(_3C_classLit, 98, -1, [48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122]);
}

var digits_0;
function $StackTraceElement(this$static, className, methodName, fileName, lineNumber){
  this$static.className = className;
  this$static.methodName = methodName;
  this$static.fileName = fileName;
  this$static.lineNumber = lineNumber;
  return this$static;
}

function getClass_116(){
  return Ljava_lang_StackTraceElement_2_classLit;
}

function toString_20(){
  return this.className + '.' + this.methodName + '(' + this.fileName + ':' + this.lineNumber + ')';
}

function StackTraceElement(){
}

_ = StackTraceElement.prototype = new Object_0;
_.getClass$ = getClass_116;
_.toString$ = toString_20;
_.typeId$ = 79;
_.className = null;
_.fileName = null;
_.lineNumber = 0;
_.methodName = null;
function $equals_1(this$static, other){
  if (!(other != null && canCast(other.typeId$, 1))) {
    return false;
  }
  return String(this$static) == other;
}

function $split(this$static, regex, maxMatch){
  var compiled = new RegExp(regex, 'g');
  var out = [];
  var count = 0;
  var trail = this$static;
  var lastTrail = null;
  while (true) {
    var matchObj = compiled.exec(trail);
    if (matchObj == null || trail == '' || count == maxMatch - 1 && maxMatch > 0) {
      out[count] = trail;
      break;
    }
     else {
      out[count] = trail.substring(0, matchObj.index);
      trail = trail.substring(matchObj.index + matchObj[0].length, trail.length);
      compiled.lastIndex = 0;
      if (lastTrail == trail) {
        out[count] = trail.substring(0, 1);
        trail = trail.substring(1);
      }
      lastTrail = trail;
      count++;
    }
  }
  if (maxMatch == 0 && this$static.length > 0) {
    var lastNonEmpty = out.length;
    while (lastNonEmpty > 0 && out[lastNonEmpty - 1] == '') {
      --lastNonEmpty;
    }
    lastNonEmpty < out.length && out.splice(lastNonEmpty, out.length - lastNonEmpty);
  }
  var jr = initDim(_3Ljava_lang_String_2_classLit, 112, 1, out.length, 0);
  for (var i = 0; i < out.length; ++i) {
    jr[i] = out[i];
  }
  return jr;
}

function $trim(this$static){
  if (this$static.length == 0 || this$static[0] > ' ' && this$static[this$static.length - 1] > ' ') {
    return this$static;
  }
  var r1 = this$static.replace(/^(\s*)/, '');
  var r2 = r1.replace(/\s*$/, '');
  return r2;
}

function __valueOf(x, start, end){
  x = x.slice(start, end);
  return String.fromCharCode.apply(null, x);
}

function equals_7(other){
  return $equals_1(this, other);
}

function getClass_117(){
  return Ljava_lang_String_2_classLit;
}

function hashCode_9(){
  return getHashCode_0(this);
}

function toString_21(){
  return this;
}

_ = String.prototype;
_.equals$ = equals_7;
_.getClass$ = getClass_117;
_.hashCode$ = hashCode_9;
_.toString$ = toString_21;
_.typeId$ = 2;
function $clinit_217(){
  $clinit_217 = nullMethod;
  back = {};
  front = {};
}

function compute(str){
  var hashCode, i, n, nBatch;
  hashCode = 0;
  n = str.length;
  nBatch = n - 4;
  i = 0;
  while (i < nBatch) {
    hashCode = str.charCodeAt(i + 3) + 31 * (str.charCodeAt(i + 2) + 31 * (str.charCodeAt(i + 1) + 31 * (str.charCodeAt(i) + 31 * hashCode))) | 0;
    i += 4;
  }
  while (i < n) {
    hashCode = hashCode * 31 + str.charCodeAt(i++);
  }
  return hashCode | 0;
}

function getHashCode_0(str){
  $clinit_217();
  var key = ':' + str;
  var result = front[key];
  if (result != null) {
    return result;
  }
  result = back[key];
  result == null && (result = compute(str));
  increment();
  return front[key] = result;
}

function increment(){
  if (count_0 == 256) {
    back = front;
    front = {};
    count_0 = 0;
  }
  ++count_0;
}

var back, count_0 = 0, front;
function $StringBuffer(this$static){
  this$static.impl = new StringBufferImplAppend;
  return this$static;
}

function $StringBuffer_0(this$static, s){
  this$static.impl = new StringBufferImplAppend;
  this$static.impl.string += s;
  return this$static;
}

function $append_0(this$static, x){
  this$static.impl.string += x;
  return this$static;
}

function getClass_118(){
  return Ljava_lang_StringBuffer_2_classLit;
}

function toString_22(){
  return this.impl.string;
}

function StringBuffer(){
}

_ = StringBuffer.prototype = new Object_0;
_.getClass$ = getClass_118;
_.toString$ = toString_22;
_.typeId$ = 80;
function $UnsupportedOperationException(this$static, message){
  $fillInStackTrace();
  this$static.detailMessage = message;
  return this$static;
}

function getClass_119(){
  return Ljava_lang_UnsupportedOperationException_2_classLit;
}

function UnsupportedOperationException(){
}

_ = UnsupportedOperationException.prototype = new RuntimeException;
_.getClass$ = getClass_119;
_.typeId$ = 81;
function $keySet(this$static){
  var entrySet;
  entrySet = $AbstractHashMap$EntrySet(new AbstractHashMap$EntrySet, this$static);
  return $AbstractMap$1(new AbstractMap$1, this$static, entrySet);
}

function equals_8(obj){
  var entry, entry$iterator, otherKey, otherMap, otherValue;
  if ((obj == null?null:obj) === this) {
    return true;
  }
  if (!(obj != null && canCast(obj.typeId$, 37))) {
    return false;
  }
  otherMap = dynamicCast(obj, 37);
  if (dynamicCast(this, 37).size != otherMap.size) {
    return false;
  }
  for (entry$iterator = $AbstractHashMap$EntrySetIterator(new AbstractHashMap$EntrySetIterator, $AbstractHashMap$EntrySet(new AbstractHashMap$EntrySet, otherMap).this$0); $hasNext_3(entry$iterator.iter);) {
    entry = dynamicCast($next_5(entry$iterator.iter), 35);
    otherKey = entry.getKey();
    otherValue = entry.getValue();
    if (!(otherKey == null?dynamicCast(this, 37).nullSlotLive:otherKey != null && canCast(otherKey.typeId$, 1)?$hasStringValue(dynamicCast(this, 37), dynamicCast(otherKey, 1)):$hasHashValue(dynamicCast(this, 37), otherKey, ~~hashCode__devirtual$(otherKey)))) {
      return false;
    }
    if (!equalsWithNullCheck(otherValue, otherKey == null?dynamicCast(this, 37).nullSlot:otherKey != null && canCast(otherKey.typeId$, 1)?dynamicCast(this, 37).stringMap[':' + dynamicCast(otherKey, 1)]:$getHashValue(dynamicCast(this, 37), otherKey, ~~hashCode__devirtual$(otherKey)))) {
      return false;
    }
  }
  return true;
}

function getClass_120(){
  return Ljava_util_AbstractMap_2_classLit;
}

function hashCode_10(){
  var entry, entry$iterator, hashCode;
  hashCode = 0;
  for (entry$iterator = $AbstractHashMap$EntrySetIterator(new AbstractHashMap$EntrySetIterator, $AbstractHashMap$EntrySet(new AbstractHashMap$EntrySet, dynamicCast(this, 37)).this$0); $hasNext_3(entry$iterator.iter);) {
    entry = dynamicCast($next_5(entry$iterator.iter), 35);
    hashCode += entry.hashCode$();
    hashCode = ~~hashCode;
  }
  return hashCode;
}

function toString_23(){
  var comma, entry, iter, s;
  s = '{';
  comma = false;
  for (iter = $AbstractHashMap$EntrySetIterator(new AbstractHashMap$EntrySetIterator, $AbstractHashMap$EntrySet(new AbstractHashMap$EntrySet, dynamicCast(this, 37)).this$0); $hasNext_3(iter.iter);) {
    entry = dynamicCast($next_5(iter.iter), 35);
    comma?(s += ', '):(comma = true);
    s += '' + entry.getKey();
    s += '=';
    s += '' + entry.getValue();
  }
  return s + '}';
}

function AbstractMap(){
}

_ = AbstractMap.prototype = new Object_0;
_.equals$ = equals_8;
_.getClass$ = getClass_120;
_.hashCode$ = hashCode_10;
_.toString$ = toString_23;
_.typeId$ = 0;
function $addAllHashEntries(this$static, dest){
  var hashCodeMap = this$static.hashCodeMap;
  for (var hashCode in hashCodeMap) {
    if (hashCode == parseInt(hashCode)) {
      var array = hashCodeMap[hashCode];
      for (var i = 0, c = array.length; i < c; ++i) {
        dest.add(array[i]);
      }
    }
  }
}

function $addAllStringEntries(this$static, dest){
  var stringMap = this$static.stringMap;
  for (var key in stringMap) {
    if (key.charCodeAt(0) == 58) {
      var entry = new_$_2(this$static, key.substring(1));
      dest.add(entry);
    }
  }
}

function $clearImpl(this$static){
  this$static.hashCodeMap = [];
  this$static.stringMap = {};
  this$static.nullSlotLive = false;
  this$static.nullSlot = null;
  this$static.size = 0;
}

function $containsKey(this$static, key){
  return key == null?this$static.nullSlotLive:key != null && canCast(key.typeId$, 1)?$hasStringValue(this$static, dynamicCast(key, 1)):$hasHashValue(this$static, key, ~~hashCode__devirtual$(key));
}

function $get_2(this$static, key){
  return key == null?this$static.nullSlot:key != null && canCast(key.typeId$, 1)?this$static.stringMap[':' + dynamicCast(key, 1)]:$getHashValue(this$static, key, ~~hashCode__devirtual$(key));
}

function $getHashValue(this$static, key, hashCode){
  var array = this$static.hashCodeMap[hashCode];
  if (array) {
    for (var i = 0, c = array.length; i < c; ++i) {
      var entry = array[i];
      var entryKey = entry.getKey();
      if (this$static.equalsBridge(key, entryKey)) {
        return entry.getValue();
      }
    }
  }
  return null;
}

function $hasHashValue(this$static, key, hashCode){
  var array = this$static.hashCodeMap[hashCode];
  if (array) {
    for (var i = 0, c = array.length; i < c; ++i) {
      var entry = array[i];
      var entryKey = entry.getKey();
      if (this$static.equalsBridge(key, entryKey)) {
        return true;
      }
    }
  }
  return false;
}

function $hasStringValue(this$static, key){
  return ':' + key in this$static.stringMap;
}

function $put(this$static, key, value){
  return key == null?$putNullSlot(this$static, value):key != null && canCast(key.typeId$, 1)?$putStringValue(this$static, dynamicCast(key, 1), value):$putHashValue(this$static, key, value, ~~hashCode__devirtual$(key));
}

function $putHashValue(this$static, key, value, hashCode){
  var array = this$static.hashCodeMap[hashCode];
  if (array) {
    for (var i = 0, c = array.length; i < c; ++i) {
      var entry = array[i];
      var entryKey = entry.getKey();
      if (this$static.equalsBridge(key, entryKey)) {
        var previous = entry.getValue();
        entry.setValue(value);
        return previous;
      }
    }
  }
   else {
    array = this$static.hashCodeMap[hashCode] = [];
  }
  var entry = $MapEntryImpl(new MapEntryImpl, key, value);
  array.push(entry);
  ++this$static.size;
  return null;
}

function $putNullSlot(this$static, value){
  var result;
  result = this$static.nullSlot;
  this$static.nullSlot = value;
  if (!this$static.nullSlotLive) {
    this$static.nullSlotLive = true;
    ++this$static.size;
  }
  return result;
}

function $putStringValue(this$static, key, value){
  var result, stringMap = this$static.stringMap;
  key = ':' + key;
  key in stringMap?(result = stringMap[key]):++this$static.size;
  stringMap[key] = value;
  return result;
}

function $remove_8(this$static, key){
  return !key?$removeNullSlot(this$static):$removeHashValue(this$static, key, ~~(key.$H || (key.$H = ++sNextHashId)));
}

function $removeHashValue(this$static, key, hashCode){
  var array = this$static.hashCodeMap[hashCode];
  if (array) {
    for (var i = 0, c = array.length; i < c; ++i) {
      var entry = array[i];
      var entryKey = entry.getKey();
      if (this$static.equalsBridge(key, entryKey)) {
        array.length == 1?delete this$static.hashCodeMap[hashCode]:array.splice(i, 1);
        --this$static.size;
        return entry.getValue();
      }
    }
  }
  return null;
}

function $removeNullSlot(this$static){
  var result;
  result = this$static.nullSlot;
  this$static.nullSlot = null;
  if (this$static.nullSlotLive) {
    this$static.nullSlotLive = false;
    --this$static.size;
  }
  return result;
}

function equalsBridge(value1, value2){
  return (value1 == null?null:value1) === (value2 == null?null:value2) || value1 != null && equals__devirtual$(value1, value2);
}

function getClass_121(){
  return Ljava_util_AbstractHashMap_2_classLit;
}

function AbstractHashMap(){
}

_ = AbstractHashMap.prototype = new AbstractMap;
_.equalsBridge = equalsBridge;
_.getClass$ = getClass_121;
_.typeId$ = 0;
_.hashCodeMap = null;
_.nullSlot = null;
_.nullSlotLive = false;
_.size = 0;
_.stringMap = null;
function equals_9(o){
  var iter, other, otherItem;
  if ((o == null?null:o) === this) {
    return true;
  }
  if (!(o != null && canCast(o.typeId$, 38))) {
    return false;
  }
  other = dynamicCast(o, 38);
  if (other.size_0() != this.size_0()) {
    return false;
  }
  for (iter = other.iterator_0(); iter.hasNext();) {
    otherItem = iter.next_0();
    if (!this.contains(otherItem)) {
      return false;
    }
  }
  return true;
}

function getClass_122(){
  return Ljava_util_AbstractSet_2_classLit;
}

function hashCode_11(){
  var hashCode, iter, next;
  hashCode = 0;
  for (iter = this.iterator_0(); iter.hasNext();) {
    next = iter.next_0();
    if (next != null) {
      hashCode += hashCode__devirtual$(next);
      hashCode = ~~hashCode;
    }
  }
  return hashCode;
}

function AbstractSet(){
}

_ = AbstractSet.prototype = new AbstractCollection;
_.equals$ = equals_9;
_.getClass$ = getClass_122;
_.hashCode$ = hashCode_11;
_.typeId$ = 82;
function $AbstractHashMap$EntrySet(this$static, this$0){
  this$static.this$0 = this$0;
  return this$static;
}

function $contains(this$static, o){
  var entry, key, value;
  if (o != null && canCast(o.typeId$, 35)) {
    entry = dynamicCast(o, 35);
    key = entry.getKey();
    if ($containsKey(this$static.this$0, key)) {
      value = $get_2(this$static.this$0, key);
      return $equals_2(entry.getValue(), value);
    }
  }
  return false;
}

function contains_1(o){
  return $contains(this, o);
}

function getClass_123(){
  return Ljava_util_AbstractHashMap$EntrySet_2_classLit;
}

function iterator_4(){
  return $AbstractHashMap$EntrySetIterator(new AbstractHashMap$EntrySetIterator, this.this$0);
}

function size_1(){
  return this.this$0.size;
}

function AbstractHashMap$EntrySet(){
}

_ = AbstractHashMap$EntrySet.prototype = new AbstractSet;
_.contains = contains_1;
_.getClass$ = getClass_123;
_.iterator_0 = iterator_4;
_.size_0 = size_1;
_.typeId$ = 83;
_.this$0 = null;
function $AbstractHashMap$EntrySetIterator(this$static, this$0){
  var list;
  this$static.this$0 = this$0;
  list = $ArrayList(new ArrayList);
  this$static.this$0.nullSlotLive && $add_1(list, $AbstractHashMap$MapEntryNull(new AbstractHashMap$MapEntryNull, this$static.this$0));
  $addAllStringEntries(this$static.this$0, list);
  $addAllHashEntries(this$static.this$0, list);
  this$static.iter = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl, list);
  return this$static;
}

function getClass_124(){
  return Ljava_util_AbstractHashMap$EntrySetIterator_2_classLit;
}

function hasNext_3(){
  return $hasNext_3(this.iter);
}

function next_4(){
  return dynamicCast($next_5(this.iter), 35);
}

function AbstractHashMap$EntrySetIterator(){
}

_ = AbstractHashMap$EntrySetIterator.prototype = new Object_0;
_.getClass$ = getClass_124;
_.hasNext = hasNext_3;
_.next_0 = next_4;
_.typeId$ = 0;
_.iter = null;
_.this$0 = null;
function equals_10(other){
  var entry;
  if (other != null && canCast(other.typeId$, 35)) {
    entry = dynamicCast(other, 35);
    if (equalsWithNullCheck(this.getKey(), entry.getKey()) && equalsWithNullCheck(this.getValue(), entry.getValue())) {
      return true;
    }
  }
  return false;
}

function getClass_125(){
  return Ljava_util_AbstractMapEntry_2_classLit;
}

function hashCode_12(){
  var keyHash, valueHash;
  keyHash = 0;
  valueHash = 0;
  this.getKey() != null && (keyHash = hashCode__devirtual$(this.getKey()));
  this.getValue() != null && (valueHash = hashCode__devirtual$(this.getValue()));
  return keyHash ^ valueHash;
}

function toString_24(){
  return this.getKey() + '=' + this.getValue();
}

function AbstractMapEntry(){
}

_ = AbstractMapEntry.prototype = new Object_0;
_.equals$ = equals_10;
_.getClass$ = getClass_125;
_.hashCode$ = hashCode_12;
_.toString$ = toString_24;
_.typeId$ = 84;
function $AbstractHashMap$MapEntryNull(this$static, this$0){
  this$static.this$0 = this$0;
  return this$static;
}

function getClass_126(){
  return Ljava_util_AbstractHashMap$MapEntryNull_2_classLit;
}

function getKey(){
  return null;
}

function getValue(){
  return this.this$0.nullSlot;
}

function setValue(object){
  return $putNullSlot(this.this$0, object);
}

function AbstractHashMap$MapEntryNull(){
}

_ = AbstractHashMap$MapEntryNull.prototype = new AbstractMapEntry;
_.getClass$ = getClass_126;
_.getKey = getKey;
_.getValue = getValue;
_.setValue = setValue;
_.typeId$ = 85;
_.this$0 = null;
function $AbstractHashMap$MapEntryString(this$static, key, this$0){
  this$static.this$0 = this$0;
  this$static.key = key;
  return this$static;
}

function getClass_127(){
  return Ljava_util_AbstractHashMap$MapEntryString_2_classLit;
}

function getKey_0(){
  return this.key;
}

function getValue_0(){
  return this.this$0.stringMap[':' + this.key];
}

function new_$_2(this$outer, key){
  return $AbstractHashMap$MapEntryString(new AbstractHashMap$MapEntryString, key, this$outer);
}

function setValue_0(object){
  return $putStringValue(this.this$0, this.key, object);
}

function AbstractHashMap$MapEntryString(){
}

_ = AbstractHashMap$MapEntryString.prototype = new AbstractMapEntry;
_.getClass$ = getClass_127;
_.getKey = getKey_0;
_.getValue = getValue_0;
_.setValue = setValue_0;
_.typeId$ = 86;
_.key = null;
_.this$0 = null;
function $AbstractList$IteratorImpl(this$static, this$0){
  this$static.this$0 = this$0;
  return this$static;
}

function $hasNext_3(this$static){
  return this$static.i < this$static.this$0.size_0();
}

function $next_5(this$static){
  if (this$static.i >= this$static.this$0.size_0()) {
    throw $NoSuchElementException(new NoSuchElementException);
  }
  return this$static.this$0.get(this$static.i++);
}

function getClass_128(){
  return Ljava_util_AbstractList$IteratorImpl_2_classLit;
}

function hasNext_4(){
  return this.i < this.this$0.size_0();
}

function next_5(){
  return $next_5(this);
}

function AbstractList$IteratorImpl(){
}

_ = AbstractList$IteratorImpl.prototype = new Object_0;
_.getClass$ = getClass_128;
_.hasNext = hasNext_4;
_.next_0 = next_5;
_.typeId$ = 0;
_.i = 0;
_.this$0 = null;
function $AbstractMap$1(this$static, this$0, val$entrySet){
  this$static.this$0 = this$0;
  this$static.val$entrySet = val$entrySet;
  return this$static;
}

function contains_2(key){
  return $containsKey(this.this$0, key);
}

function getClass_129(){
  return Ljava_util_AbstractMap$1_2_classLit;
}

function iterator_5(){
  var outerIter;
  return outerIter = $AbstractHashMap$EntrySetIterator(new AbstractHashMap$EntrySetIterator, this.val$entrySet.this$0) , $AbstractMap$1$1(new AbstractMap$1$1, outerIter);
}

function size_2(){
  return this.val$entrySet.this$0.size;
}

function AbstractMap$1(){
}

_ = AbstractMap$1.prototype = new AbstractSet;
_.contains = contains_2;
_.getClass$ = getClass_129;
_.iterator_0 = iterator_5;
_.size_0 = size_2;
_.typeId$ = 87;
_.this$0 = null;
_.val$entrySet = null;
function $AbstractMap$1$1(this$static, val$outerIter){
  this$static.val$outerIter = val$outerIter;
  return this$static;
}

function getClass_130(){
  return Ljava_util_AbstractMap$1$1_2_classLit;
}

function hasNext_5(){
  return $hasNext_3(this.val$outerIter.iter);
}

function next_6(){
  var entry;
  entry = dynamicCast($next_5(this.val$outerIter.iter), 35);
  return entry.getKey();
}

function AbstractMap$1$1(){
}

_ = AbstractMap$1$1.prototype = new Object_0;
_.getClass$ = getClass_130;
_.hasNext = hasNext_5;
_.next_0 = next_6;
_.typeId$ = 0;
_.val$outerIter = null;
function $HashMap(this$static){
  $clearImpl(this$static);
  return this$static;
}

function $equals_2(value1, value2){
  return (value1 == null?null:value1) === (value2 == null?null:value2) || value1 != null && equals__devirtual$(value1, value2);
}

function getClass_131(){
  return Ljava_util_HashMap_2_classLit;
}

function HashMap(){
}

_ = HashMap.prototype = new AbstractHashMap;
_.getClass$ = getClass_131;
_.typeId$ = 88;
function $HashSet(this$static){
  this$static.map = $HashMap(new HashMap);
  return this$static;
}

function $add_5(this$static, o){
  var old;
  old = $put(this$static.map, o, this$static);
  return old == null;
}

function add_4(o){
  var old;
  return old = $put(this.map, o, this) , old == null;
}

function contains_3(o){
  return $containsKey(this.map, o);
}

function getClass_132(){
  return Ljava_util_HashSet_2_classLit;
}

function iterator_6(){
  var outerIter;
  return outerIter = $AbstractHashMap$EntrySetIterator(new AbstractHashMap$EntrySetIterator, $keySet(this.map).val$entrySet.this$0) , $AbstractMap$1$1(new AbstractMap$1$1, outerIter);
}

function size_3(){
  return this.map.size;
}

function toString_25(){
  return $toString_1($keySet(this.map));
}

function HashSet(){
}

_ = HashSet.prototype = new AbstractSet;
_.add = add_4;
_.contains = contains_3;
_.getClass$ = getClass_132;
_.iterator_0 = iterator_6;
_.size_0 = size_3;
_.toString$ = toString_25;
_.typeId$ = 89;
_.map = null;
function $MapEntryImpl(this$static, key, value){
  this$static.key = key;
  this$static.value = value;
  return this$static;
}

function getClass_133(){
  return Ljava_util_MapEntryImpl_2_classLit;
}

function getKey_1(){
  return this.key;
}

function getValue_1(){
  return this.value;
}

function setValue_1(value){
  var old;
  old = this.value;
  this.value = value;
  return old;
}

function MapEntryImpl(){
}

_ = MapEntryImpl.prototype = new AbstractMapEntry;
_.getClass$ = getClass_133;
_.getKey = getKey_1;
_.getValue = getValue_1;
_.setValue = setValue_1;
_.typeId$ = 90;
_.key = null;
_.value = null;
function $NoSuchElementException(this$static){
  $fillInStackTrace();
  return this$static;
}

function getClass_134(){
  return Ljava_util_NoSuchElementException_2_classLit;
}

function NoSuchElementException(){
}

_ = NoSuchElementException.prototype = new RuntimeException;
_.getClass$ = getClass_134;
_.typeId$ = 91;
function equalsWithNullCheck(a, b){
  return (a == null?null:a) === (b == null?null:b) || a != null && equals__devirtual$(a, b);
}

function $AppController(this$static, view, gp, pp){
  this$static.view = view;
  this$static.galleryPresenter = gp;
  this$static.photoPresenter = pp;
  $clinit_101();
  impl?$addValueChangeHandler(impl, this$static):null;
  return this$static;
}

function $present(this$static){
  $equals_1('', ($clinit_101() , impl?$wnd.__gwt_historyToken || '':''))?!!impl && $newItem(impl, 'GalleryList', true):fireCurrentHistoryState();
  $present_0(this$static.galleryPresenter, this$static.view.collapsible);
  $present_1(this$static.photoPresenter, this$static.view.photo);
  $add_2(this$static.view.photoCollection, ($clinit_270() , panel));
}

function getClass_135(){
  return Lorg_agora_photogallery_client_AppController_2_classLit;
}

function AppController(){
}

_ = AppController.prototype = new Object_0;
_.getClass$ = getClass_135;
_.typeId$ = 92;
_.galleryPresenter = null;
_.photoPresenter = null;
_.view = null;
function $Photogallery(this$static){
  this$static.ginjector = new PhotogalleryGinjectorImpl;
  return this$static;
}

function getClass_136(){
  return Lorg_agora_photogallery_client_Photogallery_2_classLit;
}

function Photogallery(){
}

_ = Photogallery.prototype = new Object_0;
_.getClass$ = getClass_136;
_.typeId$ = 0;
function $EventBus(this$static){
  this$static.registry = $HandlerManager$HandlerRegistry(new HandlerManager$HandlerRegistry);
  this$static.source = null;
  this$static.isReverseOrder = false;
  return this$static;
}

function getClass_137(){
  return Lorg_agora_photogallery_client_common_EventBus_2_classLit;
}

function EventBus(){
}

_ = EventBus.prototype = new HandlerManager;
_.getClass$ = getClass_137;
_.typeId$ = 0;
function dig(nodeList, strings){
  var node, s, s$array, s$index, s$max;
  node = null;
  for (s$array = strings , s$index = 0 , s$max = s$array.length; s$index < s$max; ++s$index) {
    s = s$array[s$index];
    node = findByName(nodeList, s);
    nodeList = $NodeListImpl(new NodeListImpl, ($clinit_194() , node.jsObject.childNodes));
  }
  return node;
}

function findByName(nodeList, name_0){
  var i, node;
  for (i = 0; i < nodeList.getLength(); ++i) {
    node = nodeList.item_0(i);
    if ($equals_1(($clinit_194() , node.jsObject.nodeName), name_0)) {
      return node;
    }
  }
  return null;
}

function $create_Key$type$org$agora$photogallery$client$presenter$GalleryPresenter$_annotation$$none$$(this$static){
  var result;
  result = $GalleryPresenter(new GalleryPresenter, (!this$static.singleton_Key$type$org$agora$photogallery$client$view$GalleryView$_annotation$$none$$ && (this$static.singleton_Key$type$org$agora$photogallery$client$view$GalleryView$_annotation$$none$$ = $GalleryViewImpl(new GalleryViewImpl, (!this$static.singleton_Key$type$org$agora$photogallery$client$view$GalleryView$GalleryPresenter$_annotation$$none$$ && (this$static.singleton_Key$type$org$agora$photogallery$client$view$GalleryView$GalleryPresenter$_annotation$$none$$ = $create_Key$type$org$agora$photogallery$client$presenter$GalleryPresenter$_annotation$$none$$(this$static)) , this$static.singleton_Key$type$org$agora$photogallery$client$view$GalleryView$GalleryPresenter$_annotation$$none$$))) , this$static.singleton_Key$type$org$agora$photogallery$client$view$GalleryView$_annotation$$none$$), (!this$static.singleton_Key$type$org$agora$photogallery$client$service$PhotoService$_annotation$$none$$ && (this$static.singleton_Key$type$org$agora$photogallery$client$service$PhotoService$_annotation$$none$$ = new PhotoServicePicasa) , this$static.singleton_Key$type$org$agora$photogallery$client$service$PhotoService$_annotation$$none$$ , !this$static.singleton_Key$type$com$google$gwt$event$shared$HandlerManager$_annotation$$none$$ && (this$static.singleton_Key$type$com$google$gwt$event$shared$HandlerManager$_annotation$$none$$ = $EventBus(new EventBus)) , this$static.singleton_Key$type$com$google$gwt$event$shared$HandlerManager$_annotation$$none$$));
  return result;
}

function $create_Key$type$org$agora$photogallery$client$presenter$PhotoCollectionPresenter$_annotation$$none$$(this$static){
  var result;
  result = $PhotoCollectionPresenter(new PhotoCollectionPresenter, (!this$static.singleton_Key$type$org$agora$photogallery$client$view$PhotoCollectionView$_annotation$$none$$ && (this$static.singleton_Key$type$org$agora$photogallery$client$view$PhotoCollectionView$_annotation$$none$$ = $org$agora$photogallery$client$view$PhotoCollectionViewImpl_PhotoCollectionViewImpl_methodInjection((!this$static.singleton_Key$type$org$agora$photogallery$client$view$PhotoCollectionView$PhotoCollectionPresenter$_annotation$$none$$ && (this$static.singleton_Key$type$org$agora$photogallery$client$view$PhotoCollectionView$PhotoCollectionPresenter$_annotation$$none$$ = $create_Key$type$org$agora$photogallery$client$presenter$PhotoCollectionPresenter$_annotation$$none$$(this$static)) , this$static.singleton_Key$type$org$agora$photogallery$client$view$PhotoCollectionView$PhotoCollectionPresenter$_annotation$$none$$))) , this$static.singleton_Key$type$org$agora$photogallery$client$view$PhotoCollectionView$_annotation$$none$$ , !this$static.singleton_Key$type$org$agora$photogallery$client$service$PhotoService$_annotation$$none$$ && (this$static.singleton_Key$type$org$agora$photogallery$client$service$PhotoService$_annotation$$none$$ = new PhotoServicePicasa) , this$static.singleton_Key$type$org$agora$photogallery$client$service$PhotoService$_annotation$$none$$ , !this$static.singleton_Key$type$com$google$gwt$event$shared$HandlerManager$_annotation$$none$$ && (this$static.singleton_Key$type$com$google$gwt$event$shared$HandlerManager$_annotation$$none$$ = $EventBus(new EventBus)) , this$static.singleton_Key$type$com$google$gwt$event$shared$HandlerManager$_annotation$$none$$));
  return result;
}

--></script>
<script><!--
function $create_Key$type$org$agora$photogallery$client$presenter$PhotoPresenter$_annotation$$none$$(this$static){
  var result;
  result = $org$agora$photogallery$client$presenter$PhotoPresenter_PhotoPresenter_methodInjection((!this$static.singleton_Key$type$org$agora$photogallery$client$view$PhotoView$_annotation$$none$$ && (this$static.singleton_Key$type$org$agora$photogallery$client$view$PhotoView$_annotation$$none$$ = $org$agora$photogallery$client$view$PhotoViewImpl_PhotoViewImpl_methodInjection((!this$static.singleton_Key$type$org$agora$photogallery$client$view$PhotoView$PhotoPresenter$_annotation$$none$$ && (this$static.singleton_Key$type$org$agora$photogallery$client$view$PhotoView$PhotoPresenter$_annotation$$none$$ = $create_Key$type$org$agora$photogallery$client$presenter$PhotoPresenter$_annotation$$none$$(this$static)) , this$static.singleton_Key$type$org$agora$photogallery$client$view$PhotoView$PhotoPresenter$_annotation$$none$$))) , this$static.singleton_Key$type$org$agora$photogallery$client$view$PhotoView$_annotation$$none$$), (!this$static.singleton_Key$type$org$agora$photogallery$client$service$PhotoService$_annotation$$none$$ && (this$static.singleton_Key$type$org$agora$photogallery$client$service$PhotoService$_annotation$$none$$ = new PhotoServicePicasa) , this$static.singleton_Key$type$org$agora$photogallery$client$service$PhotoService$_annotation$$none$$ , !this$static.singleton_Key$type$com$google$gwt$event$shared$HandlerManager$_annotation$$none$$ && (this$static.singleton_Key$type$com$google$gwt$event$shared$HandlerManager$_annotation$$none$$ = $EventBus(new EventBus)) , this$static.singleton_Key$type$com$google$gwt$event$shared$HandlerManager$_annotation$$none$$));
  return result;
}

function $get_Key$type$org$agora$photogallery$client$AppController$_annotation$$none$$(this$static){
  !this$static.singleton_Key$type$org$agora$photogallery$client$AppController$_annotation$$none$$ && (this$static.singleton_Key$type$org$agora$photogallery$client$AppController$_annotation$$none$$ = $AppController(new AppController, (!this$static.singleton_Key$type$com$google$gwt$event$shared$HandlerManager$_annotation$$none$$ && (this$static.singleton_Key$type$com$google$gwt$event$shared$HandlerManager$_annotation$$none$$ = $EventBus(new EventBus)) , this$static.singleton_Key$type$com$google$gwt$event$shared$HandlerManager$_annotation$$none$$ , !this$static.singleton_Key$type$org$agora$photogallery$client$view$MainView$_annotation$$none$$ && (this$static.singleton_Key$type$org$agora$photogallery$client$view$MainView$_annotation$$none$$ = $MainViewImpl(new MainViewImpl)) , this$static.singleton_Key$type$org$agora$photogallery$client$view$MainView$_annotation$$none$$), $GalleryPresenter(new GalleryPresenter, (!this$static.singleton_Key$type$org$agora$photogallery$client$view$GalleryView$_annotation$$none$$ && (this$static.singleton_Key$type$org$agora$photogallery$client$view$GalleryView$_annotation$$none$$ = $GalleryViewImpl(new GalleryViewImpl, (!this$static.singleton_Key$type$org$agora$photogallery$client$view$GalleryView$GalleryPresenter$_annotation$$none$$ && (this$static.singleton_Key$type$org$agora$photogallery$client$view$GalleryView$GalleryPresenter$_annotation$$none$$ = $create_Key$type$org$agora$photogallery$client$presenter$GalleryPresenter$_annotation$$none$$(this$static)) , this$static.singleton_Key$type$org$agora$photogallery$client$view$GalleryView$GalleryPresenter$_annotation$$none$$))) , this$static.singleton_Key$type$org$agora$photogallery$client$view$GalleryView$_annotation$$none$$), (!this$static.singleton_Key$type$org$agora$photogallery$client$service$PhotoService$_annotation$$none$$ && (this$static.singleton_Key$type$org$agora$photogallery$client$service$PhotoService$_annotation$$none$$ = new PhotoServicePicasa) , this$static.singleton_Key$type$org$agora$photogallery$client$service$PhotoService$_annotation$$none$$ , !this$static.singleton_Key$type$com$google$gwt$event$shared$HandlerManager$_annotation$$none$$ && (this$static.singleton_Key$type$com$google$gwt$event$shared$HandlerManager$_annotation$$none$$ = $EventBus(new EventBus)) , this$static.singleton_Key$type$com$google$gwt$event$shared$HandlerManager$_annotation$$none$$)), $org$agora$photogallery$client$presenter$PhotoPresenter_PhotoPresenter_methodInjection((!this$static.singleton_Key$type$org$agora$photogallery$client$view$PhotoView$_annotation$$none$$ && (this$static.singleton_Key$type$org$agora$photogallery$client$view$PhotoView$_annotation$$none$$ = $org$agora$photogallery$client$view$PhotoViewImpl_PhotoViewImpl_methodInjection((!this$static.singleton_Key$type$org$agora$photogallery$client$view$PhotoView$PhotoPresenter$_annotation$$none$$ && (this$static.singleton_Key$type$org$agora$photogallery$client$view$PhotoView$PhotoPresenter$_annotation$$none$$ = $create_Key$type$org$agora$photogallery$client$presenter$PhotoPresenter$_annotation$$none$$(this$static)) , this$static.singleton_Key$type$org$agora$photogallery$client$view$PhotoView$PhotoPresenter$_annotation$$none$$))) , this$static.singleton_Key$type$org$agora$photogallery$client$view$PhotoView$_annotation$$none$$), (!this$static.singleton_Key$type$org$agora$photogallery$client$service$PhotoService$_annotation$$none$$ && (this$static.singleton_Key$type$org$agora$photogallery$client$service$PhotoService$_annotation$$none$$ = new PhotoServicePicasa) , this$static.singleton_Key$type$org$agora$photogallery$client$service$PhotoService$_annotation$$none$$ , !this$static.singleton_Key$type$com$google$gwt$event$shared$HandlerManager$_annotation$$none$$ && (this$static.singleton_Key$type$com$google$gwt$event$shared$HandlerManager$_annotation$$none$$ = $EventBus(new EventBus)) , this$static.singleton_Key$type$com$google$gwt$event$shared$HandlerManager$_annotation$$none$$)), $PhotoCollectionPresenter(new PhotoCollectionPresenter, (!this$static.singleton_Key$type$org$agora$photogallery$client$view$PhotoCollectionView$_annotation$$none$$ && (this$static.singleton_Key$type$org$agora$photogallery$client$view$PhotoCollectionView$_annotation$$none$$ = $org$agora$photogallery$client$view$PhotoCollectionViewImpl_PhotoCollectionViewImpl_methodInjection((!this$static.singleton_Key$type$org$agora$photogallery$client$view$PhotoCollectionView$PhotoCollectionPresenter$_annotation$$none$$ && (this$static.singleton_Key$type$org$agora$photogallery$client$view$PhotoCollectionView$PhotoCollectionPresenter$_annotation$$none$$ = $create_Key$type$org$agora$photogallery$client$presenter$PhotoCollectionPresenter$_annotation$$none$$(this$static)) , this$static.singleton_Key$type$org$agora$photogallery$client$view$PhotoCollectionView$PhotoCollectionPresenter$_annotation$$none$$))) , this$static.singleton_Key$type$org$agora$photogallery$client$view$PhotoCollectionView$_annotation$$none$$ , !this$static.singleton_Key$type$org$agora$photogallery$client$service$PhotoService$_annotation$$none$$ && (this$static.singleton_Key$type$org$agora$photogallery$client$service$PhotoService$_annotation$$none$$ = new PhotoServicePicasa) , this$static.singleton_Key$type$org$agora$photogallery$client$service$PhotoService$_annotation$$none$$ , !this$static.singleton_Key$type$com$google$gwt$event$shared$HandlerManager$_annotation$$none$$ && (this$static.singleton_Key$type$com$google$gwt$event$shared$HandlerManager$_annotation$$none$$ = $EventBus(new EventBus)) , this$static.singleton_Key$type$com$google$gwt$event$shared$HandlerManager$_annotation$$none$$))));
  return this$static.singleton_Key$type$org$agora$photogallery$client$AppController$_annotation$$none$$;
}

function $org$agora$photogallery$client$presenter$PhotoPresenter_PhotoPresenter_methodInjection(_0){
  return $PhotoPresenter(new PhotoPresenter, _0);
}

function $org$agora$photogallery$client$view$PhotoCollectionViewImpl_PhotoCollectionViewImpl_methodInjection(){
  return $PhotoCollectionViewImpl(new PhotoCollectionViewImpl);
}

function $org$agora$photogallery$client$view$PhotoViewImpl_PhotoViewImpl_methodInjection(){
  return $PhotoViewImpl(new PhotoViewImpl);
}

function getClass_138(){
  return Lorg_agora_photogallery_client_common_jin_PhotogalleryGinjectorImpl_2_classLit;
}

function PhotogalleryGinjectorImpl(){
}

_ = PhotogalleryGinjectorImpl.prototype = new Object_0;
_.getClass$ = getClass_138;
_.typeId$ = 0;
_.singleton_Key$type$com$google$gwt$event$shared$HandlerManager$_annotation$$none$$ = null;
_.singleton_Key$type$org$agora$photogallery$client$AppController$_annotation$$none$$ = null;
_.singleton_Key$type$org$agora$photogallery$client$service$PhotoService$_annotation$$none$$ = null;
_.singleton_Key$type$org$agora$photogallery$client$view$GalleryView$GalleryPresenter$_annotation$$none$$ = null;
_.singleton_Key$type$org$agora$photogallery$client$view$GalleryView$_annotation$$none$$ = null;
_.singleton_Key$type$org$agora$photogallery$client$view$MainView$_annotation$$none$$ = null;
_.singleton_Key$type$org$agora$photogallery$client$view$PhotoCollectionView$PhotoCollectionPresenter$_annotation$$none$$ = null;
_.singleton_Key$type$org$agora$photogallery$client$view$PhotoCollectionView$_annotation$$none$$ = null;
_.singleton_Key$type$org$agora$photogallery$client$view$PhotoView$PhotoPresenter$_annotation$$none$$ = null;
_.singleton_Key$type$org$agora$photogallery$client$view$PhotoView$_annotation$$none$$ = null;
function $clinit_249(){
  $clinit_249 = nullMethod;
  TYPE_3 = $GwtEvent$Type(new GwtEvent$Type);
}

function dispatch_3(p0){
  dynamicCast(p0, 39);
}

function getAssociatedType_3(){
  return TYPE_3;
}

function getClass_139(){
  return Lorg_agora_photogallery_client_event_GalleryClickedEvent_2_classLit;
}

function GalleryClickedEvent(){
}

_ = GalleryClickedEvent.prototype = new GwtEvent;
_.dispatch = dispatch_3;
_.getAssociatedType = getAssociatedType_3;
_.getClass$ = getClass_139;
_.typeId$ = 0;
var TYPE_3;
function $Gallery(this$static, t){
  this$static.thumbNailUrl = t;
  return this$static;
}

function getClass_140(){
  return Lorg_agora_photogallery_client_model_Gallery_2_classLit;
}

function Gallery(){
}

_ = Gallery.prototype = new Object_0;
_.getClass$ = getClass_140;
_.typeId$ = 93;
_.thumbNailUrl = null;
function $GalleryPresenter(this$static, view, hm){
  this$static.galleryView = view;
  this$static.eventBus = hm;
  return this$static;
}

function $present_0(this$static, container){
  var list, galleries;
  list = (galleries = $ArrayList(new ArrayList) , $send_0((throwIfNull('decodedURL', 'http://picasaweb.google.com/data/feed/api/user/arashbi') , encodeURI('http://picasaweb.google.com/data/feed/api/user/arashbi')), $PhotoServicePicasa$1(new PhotoServicePicasa$1, galleries), false) , galleries);
  $setData(this$static.galleryView, list);
  $add_2(container, this$static.galleryView);
}

function getClass_141(){
  return Lorg_agora_photogallery_client_presenter_GalleryPresenter_2_classLit;
}

function GalleryPresenter(){
}

_ = GalleryPresenter.prototype = new Object_0;
_.getClass$ = getClass_141;
_.typeId$ = 0;
_.eventBus = null;
_.galleryView = null;
function $PhotoCollectionPresenter(this$static, eventBus){
  $addHandler(eventBus, ($clinit_249() , TYPE_3), new PhotoCollectionPresenter$1);
  return this$static;
}

function getClass_142(){
  return Lorg_agora_photogallery_client_presenter_PhotoCollectionPresenter_2_classLit;
}

function PhotoCollectionPresenter(){
}

_ = PhotoCollectionPresenter.prototype = new Object_0;
_.getClass$ = getClass_142;
_.typeId$ = 0;
function getClass_143(){
  return Lorg_agora_photogallery_client_presenter_PhotoCollectionPresenter$1_2_classLit;
}

function PhotoCollectionPresenter$1(){
}

_ = PhotoCollectionPresenter$1.prototype = new Object_0;
_.getClass$ = getClass_143;
_.typeId$ = 94;
function $PhotoPresenter(this$static, view){
  this$static.view = view;
  return this$static;
}

function $present_1(this$static, container){
  $add_2(container, this$static.view.panel);
}

function getClass_144(){
  return Lorg_agora_photogallery_client_presenter_PhotoPresenter_2_classLit;
}

function PhotoPresenter(){
}

_ = PhotoPresenter.prototype = new Object_0;
_.getClass$ = getClass_144;
_.typeId$ = 0;
_.view = null;
function $digestXML(result, galleries){
  var doc, entries, g, i, node, url;
  doc = ($clinit_179() , $parse(impl_0, result));
  entries = $NodeListImpl(new NodeListImpl, ($clinit_194() , doc.jsObject.getElementsByTagNameNS('*', 'entry')));
  'entries ' + entries.getLength();
  for (i = 0; i < entries.getLength(); ++i) {
    node = entries.item_0(i);
    url = $getNamedItem($NamedNodeMapImpl(new NamedNodeMapImpl, dig($NodeListImpl(new NodeListImpl, node.jsObject.childNodes), initValues(_3Ljava_lang_String_2_classLit, 112, 1, ['media:group', 'media:thumbnail'])).jsObject.attributes), 'url').jsObject.nodeValue;
    $NodeListImpl(new NodeListImpl, getChildNodes(dig($NodeListImpl(new NodeListImpl, node.jsObject.childNodes), initValues(_3Ljava_lang_String_2_classLit, 112, 1, ['title'])).jsObject)).item_0(0).jsObject.nodeValue;
    $NodeListImpl(new NodeListImpl, getChildNodes(dig($NodeListImpl(new NodeListImpl, node.jsObject.childNodes), initValues(_3Ljava_lang_String_2_classLit, 112, 1, ['gphoto:id'])).jsObject)).item_0(0).jsObject.nodeValue;
    g = $Gallery(new Gallery, url);
    setCheck(galleries.array, galleries.size++, g);
  }
}

function getClass_145(){
  return Lorg_agora_photogallery_client_service_PhotoServicePicasa_2_classLit;
}

function PhotoServicePicasa(){
}

_ = PhotoServicePicasa.prototype = new Object_0;
_.getClass$ = getClass_145;
_.typeId$ = 0;
function $PhotoServicePicasa$1(this$static, val$galleries){
  this$static.val$galleries = val$galleries;
  return this$static;
}

function $onSuccess(this$static, result){
  $digestXML(result, this$static.val$galleries);
}

function getClass_146(){
  return Lorg_agora_photogallery_client_service_PhotoServicePicasa$1_2_classLit;
}

function PhotoServicePicasa$1(){
}

_ = PhotoServicePicasa$1.prototype = new Object_0;
_.getClass$ = getClass_146;
_.typeId$ = 0;
_.val$galleries = null;
function $GalleryViewImpl(this$static, presenter){
  this$static.collapsable = $CollapsiblePanel(new CollapsiblePanel);
  this$static.panel = $VerticalPanel(new VerticalPanel);
  $initContents(this$static.collapsable, this$static.panel);
  $initWidget(this$static, this$static.collapsable);
  this$static.presenter = presenter;
  return this$static;
}

function $setData(this$static, g){
  var gallery, gallery$iterator, image;
  this$static.galleries = g;
  $clear(this$static.panel);
  for (gallery$iterator = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl, this$static.galleries); gallery$iterator.i < gallery$iterator.this$0.size_0();) {
    gallery = dynamicCast($next_5(gallery$iterator), 40);
    image = $Image(new Image_0);
    ($clinit_26() , image.element).src = gallery.thumbNailUrl;
    $addHandler_1(image, $GalleryViewImpl$1(new GalleryViewImpl$1, this$static), ($clinit_41() , $clinit_41() , TYPE));
    $add_3(this$static.panel, image);
  }
  $show(this$static.collapsable);
}

function getClass_147(){
  return Lorg_agora_photogallery_client_view_GalleryViewImpl_2_classLit;
}

function GalleryViewImpl(){
}

_ = GalleryViewImpl.prototype = new Composite;
_.getClass$ = getClass_147;
_.typeId$ = 95;
_.galleries = null;
_.panel = null;
_.presenter = null;
function $GalleryViewImpl$1(this$static, this$0){
  this$static.this$0 = this$0;
  return this$static;
}

function getClass_148(){
  return Lorg_agora_photogallery_client_view_GalleryViewImpl$1_2_classLit;
}

function GalleryViewImpl$1(){
}

_ = GalleryViewImpl$1.prototype = new Object_0;
_.getClass$ = getClass_148;
_.typeId$ = 96;
_.this$0 = null;
function $MainViewImpl(this$static){
  var collapsible, f_DecoratorPanel1, photo, photoCollection;
  $initWidget(this$static, (!style_4 && (style_4 = new org_agora_photogallery_client_view_MainViewImpl_MainViewUiBinderImpl_GenBundle_default_InlineClientBundleGenerator$1) , collapsible = $SimplePanel(new SimplePanel) , photoCollection = $SimplePanel(new SimplePanel) , photo = $SimplePanel(new SimplePanel) , f_DecoratorPanel1 = $DecoratorPanel(new DecoratorPanel) , $add_2(f_DecoratorPanel1, collapsible) , $add_2(f_DecoratorPanel1, photoCollection) , $add_2(f_DecoratorPanel1, photo) , this$static.collapsible = collapsible , this$static.photo = photo , this$static.photoCollection = photoCollection , $ensureInjected((!style_4 && (style_4 = new org_agora_photogallery_client_view_MainViewImpl_MainViewUiBinderImpl_GenBundle_default_InlineClientBundleGenerator$1) , style_4)) , f_DecoratorPanel1));
  return this$static;
}

function getClass_149(){
  return Lorg_agora_photogallery_client_view_MainViewImpl_2_classLit;
}

function MainViewImpl(){
}

_ = MainViewImpl.prototype = new Composite;
_.getClass$ = getClass_149;
_.typeId$ = 97;
_.collapsible = null;
_.photo = null;
_.photoCollection = null;
function $clinit_270(){
  $clinit_270 = nullMethod;
  panel = $HorizontalPanel(new HorizontalPanel);
}

function $PhotoCollectionViewImpl(this$static){
  $clinit_270();
  (new ArrayList).array = initDim(_3Ljava_lang_Object_2_classLit, 110, 0, 0, 0);
  return this$static;
}

function getClass_150(){
  return Lorg_agora_photogallery_client_view_PhotoCollectionViewImpl_2_classLit;
}

function PhotoCollectionViewImpl(){
}

_ = PhotoCollectionViewImpl.prototype = new Object_0;
_.getClass$ = getClass_150;
_.typeId$ = 0;
var panel;
function $PhotoViewImpl(this$static){
  this$static.panel = $DecoratorPanel(new DecoratorPanel);
  this$static.image = $Image(new Image_0);
  $add_2(this$static.panel, this$static.image);
  return this$static;
}

function getClass_151(){
  return Lorg_agora_photogallery_client_view_PhotoViewImpl_2_classLit;
}

function PhotoViewImpl(){
}

_ = PhotoViewImpl.prototype = new Object_0;
_.getClass$ = getClass_151;
_.typeId$ = 0;
var style_4 = null;
function $ensureInjected(this$static){
  if (!this$static.injected) {
    this$static.injected = true;
    $clinit_36();
    $push_0(toInject, '.G220tjoA{font-weight:bold;}');
    schedule();
    return true;
  }
  return false;
}

function getClass_152(){
  return Lorg_agora_photogallery_client_view_org_1agora_1photogallery_1client_1view_1MainViewImpl_1MainViewUiBinderImpl_1GenBundle_1default_1InlineClientBundleGenerator$1_2_classLit;
}

function org_agora_photogallery_client_view_MainViewImpl_MainViewUiBinderImpl_GenBundle_default_InlineClientBundleGenerator$1(){
}

_ = org_agora_photogallery_client_view_MainViewImpl_MainViewUiBinderImpl_GenBundle_default_InlineClientBundleGenerator$1.prototype = new Object_0;
_.getClass$ = getClass_152;
_.typeId$ = 0;
_.injected = false;
var $entry = entry_0;
function gwtOnLoad(errFn, modName, modBase){
  $moduleName = modName;
  $moduleBase = modBase;
  if (errFn)
    try {
      $entry(init)();
    }
     catch (e) {
      errFn(modName);
    }
   else {
    $entry(init)();
  }
}

--></script>
<script><!--
var Ljava_lang_Object_2_classLit = createForClass('java.lang.', 'Object'), Lcom_google_gwt_animation_client_Animation_2_classLit = createForClass('com.google.gwt.animation.client.', 'Animation'), _3Lcom_google_gwt_animation_client_Animation_2_classLit = createForArray('[Lcom.google.gwt.animation.client.', 'Animation;'), Lcom_google_gwt_user_client_Timer_2_classLit = createForClass('com.google.gwt.user.client.', 'Timer'), Lcom_google_gwt_animation_client_Animation$1_2_classLit = createForClass('com.google.gwt.animation.client.', 'Animation$1'), Ljava_lang_Throwable_2_classLit = createForClass('java.lang.', 'Throwable'), Ljava_lang_Exception_2_classLit = createForClass('java.lang.', 'Exception'), Ljava_lang_RuntimeException_2_classLit = createForClass('java.lang.', 'RuntimeException'), Lcom_google_gwt_core_client_Scheduler_2_classLit = createForClass('com.google.gwt.core.client.', 'Scheduler'), Lcom_google_gwt_core_client_impl_SchedulerImpl_2_classLit = createForClass('com.google.gwt.core.client.impl.', 'SchedulerImpl'), Lcom_google_gwt_core_client_impl_SchedulerImpl$1_2_classLit = createForClass('com.google.gwt.core.client.impl.', 'SchedulerImpl$1'), Lcom_google_gwt_core_client_impl_SchedulerImpl$2_2_classLit = createForClass('com.google.gwt.core.client.impl.', 'SchedulerImpl$2'), Ljava_lang_StackTraceElement_2_classLit = createForClass('java.lang.', 'StackTraceElement'), _3Ljava_lang_StackTraceElement_2_classLit = createForArray('[Ljava.lang.', 'StackTraceElement;'), Lcom_google_gwt_core_client_impl_StringBufferImpl_2_classLit = createForClass('com.google.gwt.core.client.impl.', 'StringBufferImpl'), Lcom_google_gwt_core_client_impl_StringBufferImplAppend_2_classLit = createForClass('com.google.gwt.core.client.impl.', 'StringBufferImplAppend'), Lcom_google_gwt_core_client_JavaScriptException_2_classLit = createForClass('com.google.gwt.core.client.', 'JavaScriptException'), Lcom_google_gwt_core_client_JavaScriptObject_2_classLit = createForClass('com.google.gwt.core.client.', 'JavaScriptObject$'), Lcom_google_gwt_dom_client_DOMImpl_2_classLit = createForClass('com.google.gwt.dom.client.', 'DOMImpl'), Lcom_google_gwt_dom_client_DOMImplStandard_2_classLit = createForClass('com.google.gwt.dom.client.', 'DOMImplStandard'), Lcom_google_gwt_dom_client_DOMImplMozilla_2_classLit = createForClass('com.google.gwt.dom.client.', 'DOMImplMozilla'), Ljava_lang_String_2_classLit = createForClass('java.lang.', 'String'), _3Ljava_lang_String_2_classLit = createForArray('[Ljava.lang.', 'String;'), Ljava_lang_Enum_2_classLit = createForClass('java.lang.', 'Enum'), Lcom_google_gwt_dom_client_StyleInjector$StyleInjectorImpl_2_classLit = createForClass('com.google.gwt.dom.client.', 'StyleInjector$StyleInjectorImpl'), Lcom_google_gwt_dom_client_StyleInjector$1_2_classLit = createForClass('com.google.gwt.dom.client.', 'StyleInjector$1'), Lcom_google_gwt_event_shared_GwtEvent_2_classLit = createForClass('com.google.gwt.event.shared.', 'GwtEvent'), Lcom_google_gwt_event_dom_client_DomEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'DomEvent'), Lcom_google_gwt_event_dom_client_ClickEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'ClickEvent'), Lcom_google_gwt_event_shared_GwtEvent$Type_2_classLit = createForClass('com.google.gwt.event.shared.', 'GwtEvent$Type'), Lcom_google_gwt_event_dom_client_DomEvent$Type_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'DomEvent$Type'), Lcom_google_gwt_event_dom_client_PrivateMap_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'PrivateMap'), Lcom_google_gwt_event_logical_shared_CloseEvent_2_classLit = createForClass('com.google.gwt.event.logical.shared.', 'CloseEvent'), Lcom_google_gwt_event_logical_shared_ValueChangeEvent_2_classLit = createForClass('com.google.gwt.event.logical.shared.', 'ValueChangeEvent'), Lcom_google_gwt_event_shared_DefaultHandlerRegistration_2_classLit = createForClass('com.google.gwt.event.shared.', 'DefaultHandlerRegistration'), Lcom_google_gwt_event_shared_HandlerManager_2_classLit = createForClass('com.google.gwt.event.shared.', 'HandlerManager'), Lcom_google_gwt_event_shared_HandlerManager$HandlerRegistry_2_classLit = createForClass('com.google.gwt.event.shared.', 'HandlerManager$HandlerRegistry'), Lcom_google_gwt_event_shared_HandlerManager$1_2_classLit = createForClass('com.google.gwt.event.shared.', 'HandlerManager$1'), Lcom_google_gwt_jsonp_client_JsonpRequest_2_classLit = createForClass('com.google.gwt.jsonp.client.', 'JsonpRequest'), Lcom_google_gwt_jsonp_client_JsonpRequest$1_2_classLit = createForClass('com.google.gwt.jsonp.client.', 'JsonpRequest$1'), Lcom_google_gwt_jsonp_client_JsonpRequest$2_2_classLit = createForClass('com.google.gwt.jsonp.client.', 'JsonpRequest$2'), Lcom_google_gwt_jsonp_client_TimeoutException_2_classLit = createForClass('com.google.gwt.jsonp.client.', 'TimeoutException'), Lcom_google_gwt_user_client_impl_HistoryImpl_2_classLit = createForClass('com.google.gwt.user.client.impl.', 'HistoryImpl'), Lcom_google_gwt_user_client_impl_HistoryImplTimer_2_classLit = createForClass('com.google.gwt.user.client.impl.', 'HistoryImplTimer'), Lcom_google_gwt_user_client_impl_HistoryImplMozilla_2_classLit = createForClass('com.google.gwt.user.client.impl.', 'HistoryImplMozilla'), Lcom_google_gwt_user_client_ui_UIObject_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'UIObject'), Lcom_google_gwt_user_client_ui_Widget_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Widget'), Lcom_google_gwt_user_client_ui_Panel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Panel'), Lcom_google_gwt_user_client_ui_ComplexPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'ComplexPanel'), Lcom_google_gwt_user_client_ui_AbsolutePanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'AbsolutePanel'), _3Ljava_lang_Throwable_2_classLit = createForArray('[Ljava.lang.', 'Throwable;'), Lcom_google_gwt_user_client_ui_AttachDetachException_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'AttachDetachException'), Lcom_google_gwt_user_client_ui_AttachDetachException$1_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'AttachDetachException$1'), Lcom_google_gwt_user_client_ui_AttachDetachException$2_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'AttachDetachException$2'), Lcom_google_gwt_user_client_ui_CellPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'CellPanel'), Ljava_util_AbstractCollection_2_classLit = createForClass('java.util.', 'AbstractCollection'), Ljava_util_AbstractList_2_classLit = createForClass('java.util.', 'AbstractList'), Ljava_util_ArrayList_2_classLit = createForClass('java.util.', 'ArrayList'), Lcom_google_gwt_user_client_ui_ChangeListenerCollection_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'ChangeListenerCollection'), Lcom_google_gwt_user_client_ui_Composite_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Composite'), Lcom_google_gwt_user_client_ui_SimplePanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'SimplePanel'), Lcom_google_gwt_user_client_ui_DecoratorPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'DecoratorPanel'), _3Lcom_google_gwt_user_client_ui_Widget_2_classLit = createForArray('[Lcom.google.gwt.user.client.ui.', 'Widget;'), Lcom_google_gwt_user_client_ui_HasHorizontalAlignment$HorizontalAlignmentConstant_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HasHorizontalAlignment$HorizontalAlignmentConstant'), Lcom_google_gwt_user_client_ui_HasVerticalAlignment$VerticalAlignmentConstant_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HasVerticalAlignment$VerticalAlignmentConstant'), Lcom_google_gwt_user_client_ui_HorizontalPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HorizontalPanel'), Lcom_google_gwt_user_client_ui_Image_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Image'), Lcom_google_gwt_user_client_ui_Image$State_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Image$State'), Lcom_google_gwt_user_client_ui_Image$UnclippedState_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Image$UnclippedState'), _3C_classLit = createForArray('', '[C'), Lcom_google_gwt_user_client_ui_RootPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'RootPanel'), Lcom_google_gwt_user_client_ui_RootPanel$DefaultRootPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'RootPanel$DefaultRootPanel'), Lcom_google_gwt_user_client_ui_RootPanel$1_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'RootPanel$1'), Lcom_google_gwt_user_client_ui_RootPanel$2_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'RootPanel$2'), Lcom_google_gwt_user_client_ui_SimplePanel$1_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'SimplePanel$1'), Lcom_google_gwt_user_client_ui_VerticalPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'VerticalPanel'), Lcom_google_gwt_user_client_ui_WidgetCollection_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'WidgetCollection'), Lcom_google_gwt_user_client_ui_WidgetCollection$WidgetIterator_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'WidgetCollection$WidgetIterator'), Lcom_google_gwt_user_client_CommandCanceledException_2_classLit = createForClass('com.google.gwt.user.client.', 'CommandCanceledException'), Lcom_google_gwt_user_client_CommandExecutor_2_classLit = createForClass('com.google.gwt.user.client.', 'CommandExecutor'), Lcom_google_gwt_user_client_CommandExecutor$CircularIterator_2_classLit = createForClass('com.google.gwt.user.client.', 'CommandExecutor$CircularIterator'), Lcom_google_gwt_user_client_CommandExecutor$1_2_classLit = createForClass('com.google.gwt.user.client.', 'CommandExecutor$1'), Lcom_google_gwt_user_client_CommandExecutor$2_2_classLit = createForClass('com.google.gwt.user.client.', 'CommandExecutor$2'), Lcom_google_gwt_user_client_Timer$1_2_classLit = createForClass('com.google.gwt.user.client.', 'Timer$1'), Lcom_google_gwt_user_client_Window$ClosingEvent_2_classLit = createForClass('com.google.gwt.user.client.', 'Window$ClosingEvent'), Lcom_google_gwt_user_client_Window$WindowHandlers_2_classLit = createForClass('com.google.gwt.user.client.', 'Window$WindowHandlers'), Lcom_google_gwt_widgetideas_client_overrides_WidgetIterators$1_2_classLit = createForClass('com.google.gwt.widgetideas.client.overrides.', 'WidgetIterators$1'), Lcom_google_gwt_widgetideas_client_CollapsiblePanel_2_classLit = createForClass('com.google.gwt.widgetideas.client.', 'CollapsiblePanel'), Lcom_google_gwt_widgetideas_client_CollapsiblePanel$State_2_classLit = createForEnum('com.google.gwt.widgetideas.client.', 'CollapsiblePanel$State', values_0), _3Lcom_google_gwt_widgetideas_client_CollapsiblePanel$State_2_classLit = createForArray('[Lcom.google.gwt.widgetideas.client.', 'CollapsiblePanel$State;'), Lcom_google_gwt_widgetideas_client_CollapsiblePanel$DelayHide_2_classLit = createForClass('com.google.gwt.widgetideas.client.', 'CollapsiblePanel$DelayHide'), Lcom_google_gwt_widgetideas_client_CollapsiblePanel$DelayShow_2_classLit = createForClass('com.google.gwt.widgetideas.client.', 'CollapsiblePanel$DelayShow'), Lcom_google_gwt_widgetideas_client_CollapsiblePanel$HidingAnimation_2_classLit = createForClass('com.google.gwt.widgetideas.client.', 'CollapsiblePanel$HidingAnimation'), Lcom_google_gwt_widgetideas_client_CollapsiblePanel$ShowingAnimation_2_classLit = createForClass('com.google.gwt.widgetideas.client.', 'CollapsiblePanel$ShowingAnimation'), Lcom_google_gwt_widgetideas_client_CollapsiblePanel$1_2_classLit = createForClass('com.google.gwt.widgetideas.client.', 'CollapsiblePanel$1'), Lcom_google_gwt_widgetideas_client_CollapsiblePanel$2_2_classLit = createForClass('com.google.gwt.widgetideas.client.', 'CollapsiblePanel$2'), Lcom_google_gwt_xml_client_impl_DOMItem_2_classLit = createForClass('com.google.gwt.xml.client.impl.', 'DOMItem'), Lcom_google_gwt_xml_client_impl_NodeImpl_2_classLit = createForClass('com.google.gwt.xml.client.impl.', 'NodeImpl'), Lcom_google_gwt_xml_client_impl_AttrImpl_2_classLit = createForClass('com.google.gwt.xml.client.impl.', 'AttrImpl'), Lcom_google_gwt_xml_client_impl_CharacterDataImpl_2_classLit = createForClass('com.google.gwt.xml.client.impl.', 'CharacterDataImpl'), Lcom_google_gwt_xml_client_impl_TextImpl_2_classLit = createForClass('com.google.gwt.xml.client.impl.', 'TextImpl'), Lcom_google_gwt_xml_client_impl_CDATASectionImpl_2_classLit = createForClass('com.google.gwt.xml.client.impl.', 'CDATASectionImpl'), Lcom_google_gwt_xml_client_impl_CommentImpl_2_classLit = createForClass('com.google.gwt.xml.client.impl.', 'CommentImpl'), Lcom_google_gwt_xml_client_DOMException_2_classLit = createForClass('com.google.gwt.xml.client.', 'DOMException'), Lcom_google_gwt_xml_client_impl_DOMParseException_2_classLit = createForClass('com.google.gwt.xml.client.impl.', 'DOMParseException'), Lcom_google_gwt_xml_client_impl_DocumentFragmentImpl_2_classLit = createForClass('com.google.gwt.xml.client.impl.', 'DocumentFragmentImpl'), Lcom_google_gwt_xml_client_impl_DocumentImpl_2_classLit = createForClass('com.google.gwt.xml.client.impl.', 'DocumentImpl'), Lcom_google_gwt_xml_client_impl_ElementImpl_2_classLit = createForClass('com.google.gwt.xml.client.impl.', 'ElementImpl'), Lcom_google_gwt_xml_client_impl_NodeListImpl_2_classLit = createForClass('com.google.gwt.xml.client.impl.', 'NodeListImpl'), Lcom_google_gwt_xml_client_impl_NamedNodeMapImpl_2_classLit = createForClass('com.google.gwt.xml.client.impl.', 'NamedNodeMapImpl'), Lcom_google_gwt_xml_client_impl_ProcessingInstructionImpl_2_classLit = createForClass('com.google.gwt.xml.client.impl.', 'ProcessingInstructionImpl'), Lcom_google_gwt_xml_client_impl_XMLParserImpl_2_classLit = createForClass('com.google.gwt.xml.client.impl.', 'XMLParserImpl'), Lcom_google_gwt_xml_client_impl_XMLParserImplStandard_2_classLit = createForClass('com.google.gwt.xml.client.impl.', 'XMLParserImplStandard'), Ljava_lang_IndexOutOfBoundsException_2_classLit = createForClass('java.lang.', 'IndexOutOfBoundsException'), Ljava_lang_ArrayStoreException_2_classLit = createForClass('java.lang.', 'ArrayStoreException'), Ljava_lang_Boolean_2_classLit = createForClass('java.lang.', 'Boolean'), Ljava_lang_Number_2_classLit = createForClass('java.lang.', 'Number'), Ljava_lang_Class_2_classLit = createForClass('java.lang.', 'Class'), Ljava_lang_ClassCastException_2_classLit = createForClass('java.lang.', 'ClassCastException'), Ljava_lang_Double_2_classLit = createForClass('java.lang.', 'Double'), Ljava_lang_IllegalArgumentException_2_classLit = createForClass('java.lang.', 'IllegalArgumentException'), Ljava_lang_IllegalStateException_2_classLit = createForClass('java.lang.', 'IllegalStateException'), Ljava_lang_Integer_2_classLit = createForClass('java.lang.', 'Integer'), Ljava_lang_NullPointerException_2_classLit = createForClass('java.lang.', 'NullPointerException'), Ljava_lang_StringBuffer_2_classLit = createForClass('java.lang.', 'StringBuffer'), Ljava_lang_UnsupportedOperationException_2_classLit = createForClass('java.lang.', 'UnsupportedOperationException'), _3Ljava_lang_Object_2_classLit = createForArray('[Ljava.lang.', 'Object;'), Ljava_util_AbstractMap_2_classLit = createForClass('java.util.', 'AbstractMap'), Ljava_util_AbstractHashMap_2_classLit = createForClass('java.util.', 'AbstractHashMap'), Ljava_util_AbstractSet_2_classLit = createForClass('java.util.', 'AbstractSet'), Ljava_util_AbstractHashMap$EntrySet_2_classLit = createForClass('java.util.', 'AbstractHashMap$EntrySet'), Ljava_util_AbstractHashMap$EntrySetIterator_2_classLit = createForClass('java.util.', 'AbstractHashMap$EntrySetIterator'), Ljava_util_AbstractMapEntry_2_classLit = createForClass('java.util.', 'AbstractMapEntry'), Ljava_util_AbstractHashMap$MapEntryNull_2_classLit = createForClass('java.util.', 'AbstractHashMap$MapEntryNull'), Ljava_util_AbstractHashMap$MapEntryString_2_classLit = createForClass('java.util.', 'AbstractHashMap$MapEntryString'), Ljava_util_AbstractList$IteratorImpl_2_classLit = createForClass('java.util.', 'AbstractList$IteratorImpl'), Ljava_util_AbstractMap$1_2_classLit = createForClass('java.util.', 'AbstractMap$1'), Ljava_util_AbstractMap$1$1_2_classLit = createForClass('java.util.', 'AbstractMap$1$1'), Ljava_util_HashMap_2_classLit = createForClass('java.util.', 'HashMap'), Ljava_util_HashSet_2_classLit = createForClass('java.util.', 'HashSet'), Ljava_util_MapEntryImpl_2_classLit = createForClass('java.util.', 'MapEntryImpl'), Ljava_util_NoSuchElementException_2_classLit = createForClass('java.util.', 'NoSuchElementException'), Lorg_agora_photogallery_client_AppController_2_classLit = createForClass('org.agora.photogallery.client.', 'AppController'), Lorg_agora_photogallery_client_service_PhotoServicePicasa_2_classLit = createForClass('org.agora.photogallery.client.service.', 'PhotoServicePicasa'), Lorg_agora_photogallery_client_presenter_PhotoCollectionPresenter_2_classLit = createForClass('org.agora.photogallery.client.presenter.', 'PhotoCollectionPresenter'), Lorg_agora_photogallery_client_presenter_GalleryPresenter_2_classLit = createForClass('org.agora.photogallery.client.presenter.', 'GalleryPresenter'), Lorg_agora_photogallery_client_presenter_PhotoPresenter_2_classLit = createForClass('org.agora.photogallery.client.presenter.', 'PhotoPresenter'), Lorg_agora_photogallery_client_common_EventBus_2_classLit = createForClass('org.agora.photogallery.client.common.', 'EventBus'), Lorg_agora_photogallery_client_view_MainViewImpl_2_classLit = createForClass('org.agora.photogallery.client.view.', 'MainViewImpl'), Lorg_agora_photogallery_client_view_GalleryViewImpl_2_classLit = createForClass('org.agora.photogallery.client.view.', 'GalleryViewImpl'), Lorg_agora_photogallery_client_view_PhotoViewImpl_2_classLit = createForClass('org.agora.photogallery.client.view.', 'PhotoViewImpl'), Lorg_agora_photogallery_client_view_PhotoCollectionViewImpl_2_classLit = createForClass('org.agora.photogallery.client.view.', 'PhotoCollectionViewImpl'), Lorg_agora_photogallery_client_common_jin_PhotogalleryGinjectorImpl_2_classLit = createForClass('org.agora.photogallery.client.common.jin.', 'PhotogalleryGinjectorImpl'), Lorg_agora_photogallery_client_event_GalleryClickedEvent_2_classLit = createForClass('org.agora.photogallery.client.event.', 'GalleryClickedEvent'), Lorg_agora_photogallery_client_model_Gallery_2_classLit = createForClass('org.agora.photogallery.client.model.', 'Gallery'), Lorg_agora_photogallery_client_presenter_PhotoCollectionPresenter$1_2_classLit = createForClass('org.agora.photogallery.client.presenter.', 'PhotoCollectionPresenter$1'), Lorg_agora_photogallery_client_service_PhotoServicePicasa$1_2_classLit = createForClass('org.agora.photogallery.client.service.', 'PhotoServicePicasa$1'), Lorg_agora_photogallery_client_view_GalleryViewImpl$1_2_classLit = createForClass('org.agora.photogallery.client.view.', 'GalleryViewImpl$1'), Lorg_agora_photogallery_client_view_org_1agora_1photogallery_1client_1view_1MainViewImpl_1MainViewUiBinderImpl_1GenBundle_1default_1InlineClientBundleGenerator$1_2_classLit = createForClass('org.agora.photogallery.client.view.', 'org_agora_photogallery_client_view_MainViewImpl_MainViewUiBinderImpl_GenBundle_default_InlineClientBundleGenerator$1'), Lorg_agora_photogallery_client_Photogallery_2_classLit = createForClass('org.agora.photogallery.client.', 'Photogallery');
$stats && $stats({moduleName:'photogallery',sessionId:$sessionId,subSystem:'startup',evtGroup:'moduleStartup',millis:(new Date()).getTime(),type:'moduleEvalEnd'});
if ($wnd.photogallery) $wnd.photogallery.onScriptLoad();
--></script></body></html>
